什么是()=>;className在Javascript ES6中的意思是什么?

什么是()=>;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

我正在看react的教程,它显示:

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不同。使用函数的原因是使其延迟加载。这样,直到您使用该组件,才真正解析该类。