我已经看到两者可以互换使用。
两者的主要用例是什么?有优点/缺点吗?是更好的做法吗?
我已经看到两者可以互换使用。
两者的主要用例是什么?有优点/缺点吗?是更好的做法吗?
这两种方法不可互换。使用ES6类时,应在构造函数中初始化状态,使用时应定义getInitialState
方法React.createClass
。
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.state = { /* initial state */ };
}
}
相当于
var MyComponent = React.createClass({
getInitialState() {
return { /* initial state */ };
},
});
如今,我们不必在组件内部调用构造函数-我们可以直接调用
state={something:""}
,否则以前我们首先要声明具有的构造函数super()
以继承React.Component
类中的所有内容,然后在构造函数内部初始化状态。If using
React.createClass
then define initialize state with thegetInitialState
method.