我见过两者可以互换使用。
两者的主要用例是什么?有优点/缺点吗?一种更好的做法吗?
这两种方法不可互换。使用 ES6 类时应在构造函数中初始化状态,getInitialState使用React.createClass.
getInitialState
React.createClass
请参阅有关 ES6 类主题的官方 React 文档。
class MyComponent extends React.Component { constructor(props) { super(props); this.state = { /* initial state */ }; } }
相当于
var MyComponent = React.createClass({ getInitialState() { return { /* initial state */ }; }, });