Tom*_*ger 3 ecmascript-6 reactjs babeljs survivejs
在React和Webpack一章的SurviveJS手册中的一个例子令我感到困惑.
在Note.jsx:
import React from 'react';
export default () => <div>Learn Webpack</div>;
Run Code Online (Sandbox Code Playgroud)
这与使用JSX声明React组件的标准方式有很多不同之处:
import React from 'react';
class Note extends React.Component {
render() {
return <div>Learn Webpack</div>;
}
}
Run Code Online (Sandbox Code Playgroud)
第一个例子是如何工作的?
当你这样做时<Note />,它只是寻找Note在本地范围内命名的变量.将组件导入另一个文件后,您可以根据需要为其命名.例如,import Note from './Note';将在您的示例中导入默认导出的函数.
当你链接到自己时,这是一个无状态功能组件,https: //facebook.github.io/react/docs/reusable-components.html#stateless-functions.函数本身就是render,它没有类实例.
它们不能存储任何状态,因为它们只需要输入和渲染输出.
您的具体示例只是一个箭头功能.上面链接的文档使用标准的非箭头函数,但在这种情况下它们基本上是可互换的.例如
export default () => <div>Learn Webpack</div>;
Run Code Online (Sandbox Code Playgroud)
是相同的
export default function(){
return <div>Learn Webpack</div>;
}
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
366 次 |
| 最近记录: |