【发布时间】:2016-09-07 08:05:34
【问题描述】:
我是 React 新手,正在尝试掌握语法。
我在 React 15 环境中开发(使用 react-starterify 模板)并且一直使用下面版本 2 中的语法,但是,我在 Facebook 的 React 页面中找到的大多数示例和教程都是版本 1。两者之间的区别以及何时应该使用一个而不是另一个?
版本 1
var MyComponent = React.createClass({
render: function() {
return (
<ul>
// some list
</ul>
);
}
});
module.exports = MyOtherComponent;
第 2 版
const MyComponent = () => (
<ul>
// some list
</ul>
);
export default MyComponent;
【问题讨论】:
-
第一个版本允许你挂钩到诸如
componenDidMount、shouldComponentUpdate等生命周期方法。第二个版本基本上只是render函数。默认使用版本 2,如果需要生命周期方法,请使用版本 1。 -
还要注意
createClass是旧的类风格,现在你可以(应该)使用ES6 classes。 -
在 react native 中也弃用了 createClass。
标签: javascript reactjs react-native ecmascript-6