1. ホーム
  2. reactjs

[解決済み] React / React Nativeでコンストラクタを使用する場合とgetInitialStateを使用する場合の違いとは何ですか?

2022-03-14 15:41:18

質問

両方が同じように使われているのを見たことがあります。

両者の主な使用例について教えてください。 メリット/デメリットはありますか? また、どちらか一方が優れているのでしょうか?

どのように解決するのか?

この2つのアプローチは互換性がありません。ES6 クラスを使用する場合はコンストラクタで状態を初期化し、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 */ };
  },
});