我已经看到两者可以互换使用。
两者的主要用例是什么?有优点/缺点吗?是更好的做法吗?
我已经看到两者可以互换使用。
两者的主要用例是什么?有优点/缺点吗?是更好的做法吗?
这两种方法不可互换。使用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.createClassthen define initialize state with thegetInitialStatemethod.