我正在看反应教程page,它显示:
import React, { Component } from 'react';
import { AppRegistry, Text } from 'react-native';
class HelloWorldApp extends Component {
render() {
return (
<Text>Hello world!</Text>
);
}
}
AppRegistry.registerComponent('HelloWorldApp', () => HelloWorldApp);
// ^ this part
这意味着什么?它等于:
function() {
return HelloWorldApp
}
如果是这样,为什么不使用:
HelloWorldApp
直接?
答案 0 :(得分:4)
那是ES6 arrow function。它是一个不需要任何参数并返回HelloWorldApp
的函数。它相当于:
AppRegistry.registerComponent('HelloWorldApp', function() {
return HelloWorldApp;
});
至于为什么它需要一个函数而不仅仅是React组件,我不确定。也许这只是React Native的API决定。