React / React NativeでコンストラクターとgetInitialStateを使用する場合の違いは何ですか? 質問する

React / React NativeでコンストラクターとgetInitialStateを使用する場合の違いは何ですか? 質問する

どちらも同じ意味で使われているのを見たことがあります。

両方の主な使用例は何ですか? 利点と欠点はありますか? どちらかがより良い方法ですか?

ベストアンサー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(...)。他のすべての場所では を使用する必要があります。

おすすめ記事