我看到两者交替使用。
两者的主要用例是什么?有优缺点吗?是一个更好的做法吗?
这两种方法是不可互换的。在使用ES6类时,应该在构造函数中初始化状态,并在使用React.createClass时定义getInitialState方法。
See the official React doc on the subject of ES6 classes。
class MyComponent extends React.Component { constructor(props) { super(props); this.state = { /* initial state */ }; } }
相当于
var MyComponent = React.createClass({ getInitialState() { return { /* initial state */ }; },});