shouldComponentUpdate

boolean shouldComponentUpdate(object nextProps, object nextState)

新しいpropsまたはstateを受け取り、描画(render)される前に実行されます。 このメソッドは初期描画(render)、またはforceUpdateが使用された際に呼び出されることはありません。

新しいpropsとstateへの変更がコンポーネントの更新を必要としないことが確実な場合は、 このメソッドでfalseを返すようにして下さい。

shouldComponentUpdate: function(nextProps, nextState) {
  return nextProps.id !== this.props.id;
}

shouldComponentUpdateがfalseを返すと、次にstateの変更があるまでrender()は完全にスキップされます。 (加えて、componentWillUpdatecomponentDidUpdateは呼び出されません。)

デフォルトでは、shouldComponentUpdateはstateが適切に変更された際の微細なバグを防ぐために常にtrueを返しますが、 もしstateを不変(immutable)なものとして常に扱うように気を付け、render()内でpropsとstateを読み取り専用としている場合は、 古いpropsとstateを新しいものと比較することで、shouldComponentUpdateを上書きすることが出来ます。

もし、パフォーマンスにボトルネックがある場合、特にコンポーネントが数十、数百もある場合は、 アプリケーションの速度を向上させるためにshouldComponentUpdateを使用してみて下さい。

 Back to top

© 2013-2017 Facebook Inc.
Documentation licensed under CC BY 4.0.

このページは、ページトップのリンク先のReact内のページを翻訳した内容を基に構成されています。 下記の項目を確認し、必要に応じて公式のドキュメントをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • ドキュメントの情報が古い可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報やより分かり易くするための追記を行っている事があります。