setProps
setProps(object nextProps[, function callback])
外部のJavaScriptアプリケーションと統合している場合に、
あなたはReact.render()
で描画されたReactコンポーネントに変更のシグナルを送りたいと考えるかもしれません。
同じノード上で再度React.render()
を呼び出すことは、ルート層のコンポーネントを更新するよりも良い方法ですが、
setProps()
を呼び出してそのプロパティを変更して再描画をトリガすることも出来ます。
加えて、setProps
が完了してコンポーネントの再描画完了した際に実行される任意のコールバック関数を提供することも可能です。
注意:
更新の処理が分かり易くなる傾向があることから、
React.render()
を再び呼び出す宣言的なアプローチの方が好ましいと言えます。
(2つのアプローチにパフォーマンスの差はほとんどありません。)
このメソッドは、ルート層コンポーネント上でのみ呼び出すことが可能です。
そのため、React.render()
へ直接渡されたコンポーネント上でのみ利用可能で、その子供たちは利用することは出来ません。
もし、子コンポーネントでsetProps()
の使用を考えている場合は、
render()
内で作成される際に、代わりにリアクティブな更新と子コンポーネントへ新しいpropを渡すことを検討して下さい。
このメソッドはReact.Componentを拡張したES6クラスコンポーネント上で利用することは出来ません。 これは将来のReactのバージョンで全て削除されるかもしれません。