![](/img/trans.png)
[英]Replacing a React.createClass with extends React.Component
[英]Difference between React.createClass and <Name> extends Component
我已经看过关于React Native的一些教程和指南,并且看到这两种用法几乎相同:
var anyName = React.createClass({
render: function() {
return (
...
);
}
});
和
class anyName extends Component {
render() {
return (
...
)
}
}
不知道它们之间有什么区别。
第一部分代码以旧方式 (ES5)创建新的JS对象。 它只是创建一个普通的JS对象,然后使用prototypes
使用React方法和属性填充它。
React.createClass
方法必须填充实现render
方法的对象。 (您可以在此处阅读有关此方法的更多信息。
第二个代码使用最新的JS标准(ES6) 类和继承 。 实际上Component
是ReactComponent
,您可以在这里阅读有关它的更多信息。
请注意,这两种初始化React Component的方式将给您明显不同的结果。 例如,您此时不能将mixins
用于ES6继承,而必须bind
方法bind
到父对象。 您可以在此处阅读有关差异的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.