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()は完全にスキップされます。
(加えて、componentWillUpdateとcomponentDidUpdateは呼び出されません。)
デフォルトでは、shouldComponentUpdateはstateが適切に変更された際の微細なバグを防ぐために常にtrueを返しますが、
もしstateを不変(immutable)なものとして常に扱うように気を付け、render()内でpropsとstateを読み取り専用としている場合は、
古いpropsとstateを新しいものと比較することで、shouldComponentUpdateを上書きすることが出来ます。
もし、パフォーマンスにボトルネックがある場合、特にコンポーネントが数十、数百もある場合は、
アプリケーションの速度を向上させるためにshouldComponentUpdateを使用してみて下さい。