どちらも同じ意味で使われているのを見たことがあります。
両方の主な使用例は何ですか? 利点と欠点はありますか? どちらかがより良い方法ですか?
ベストアンサー1
2 つのアプローチは互換性がありません。ES6 クラスを使用する場合はコンストラクターで状態を初期化し、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 */ };
},
});
コンストラクターでは常に直接割り当てる必要がありthis.state
、これが許可される唯一の場所であることに注意してくださいthis.setState(...)
。他のすべての場所では を使用する必要があります。