質問: 現在Reactを使っているのですが、stateに格納するデータは表示に関係するものだけ入れるべきなのでしょうか? なぜこのような質問をするかというと、私が調べた限りsetStateで値を設定した場合、再描画が走るという認識です。 であれば設計方針としては、描画に直接的に関係ないデータはstateに格納するのではなく、インスタンス変数などに格納するべきなのでしょうか? 抽象的な質問ですがご回答よろしくお願いします。
回答: 想定されているケースを私が正しく認識できていないかもしれないので、一様に `state` に入れるべきではない or 入れてもよい、とは回答できませんが、参考になる情報を記載します。 そのデータが、描画を含む React コンポーネントのライフサイクルに関係しないなら `state` に含める必要はありません。React 公式ドキュメントでも `state` を使っていない例がありますし、 > > 何かデータフローに影響しないデータ(タイマー ID のようなもの)を保存したい場合に、追加のフィールドを手動でクラスに追加することは自由です。 > > > という記述もあります。 > > 私が調べた限りsetStateで値を設定した場合、再描画が走るという認識です。 > > > デフォルトのライフサイクルはその認識で正しいですが、`shouldComponentUpdate` を使って `setState` 後に不要な再描画を行わないようにもできます。