forceUpdate
forceUpdate([function callback])
もしrender()
メソッドがthis.props
またはthis.state
以外の何かから読み取りをする場合、
render()
の再実行が必要になる際に、forceUpdate()
を呼び出してReactにそのことを伝える必要があります。
また、もしthis.state
を直接変更する場合も、forceUpdate()
を呼び出す必要があります。
forceUpdate()
の呼び出しは、
shouldComponentUpdate()
をスキップしてコンポーネント上でrender()
を呼び出すことになります。
これは、それぞれの子のshouldComponentUpdate()
メソッドを含め、
子コンポーネントのための通常のライフサイクル・メソッドをトリガします。
Reactはマークアップが変更されればDOMの更新だけ行います。
通常は全てにおいて極力forceUpdate()
の使用は避け、
render()
内でthis.props
とthis.state
からのみ、
読取りをするように努めるべきです。
こうすることで、アプリケーションがよりシンプルで効率的なものになります。