什么是()=>;className在Javascript ES6中的意思是什么?
我正在看react的教程,它显示:什么是()=>;className在Javascript ES6中的意思是什么?,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在看react的教程,它显示: import React, { Component } from 'react'; import { AppRegistry, Text } from 'react-native'; class HelloWorldApp extends Component { render() { return ( <Text>Hello world!</Text> ); } } AppRegistry.reg
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
如果是,为什么不使用:
HelloWorldApp
直接吗?这是一个问题。它是一个不需要任何参数并返回HelloWorldApp
的函数。这相当于:
AppRegistry.registerComponent('HelloWorldApp', function() {
return HelloWorldApp;
});
至于为什么它需要一个函数而不仅仅是React组件,我不确定。也许这只是React Native的API决定。这是一个错误。它是一个不需要任何参数并返回HelloWorldApp
的函数。这相当于:
AppRegistry.registerComponent('HelloWorldApp', function() {
return HelloWorldApp;
});
至于为什么它需要一个函数而不仅仅是React组件,我不确定。可能这只是React Native的一个API决定。返回HelloWorldApp的函数与HelloWorldApp不同。使用函数的原因是使其延迟加载。这样,在使用组件之前,类实际上不会被解析。返回HelloWorldApp的函数与HelloWorldApp不同。使用函数的原因是使其延迟加载。这样,直到您使用该组件,才真正解析该类。