繁体   English   中英

React.createClass和之间的区别 <Name> 扩展组件

[英]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) 继承 实际上ComponentReactComponent ,您可以在这里阅读有关它的更多信息。

请注意,这两种初始化React Component的方式将给您明显不同的结果。 例如,您此时不能将mixins用于ES6继承,而必须bind方法bind到父对象。 您可以在此处阅读有关差异的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM