Reactインテリジェントコンポーネント&&人形コンポーネント&&ライフサイクル
1881 ワード
インテリジェントコンポーネント&人形コンポーネント
これはReactを用いてシステム設計を行う際の2つの非常に重要な概念である.Reactでは、すべての単位をコンポーネントと呼びますが、上記の例では、
./app/containers
と./app/components
の2つのフォルダにそれぞれ配置しています.ライフサイクル
開発の過程で最も一般的なライフサイクルは
getInitialState
コンポーネントstateデータを初期化するが、es 6構文では constructor(props, context) { // ES5 new
super(props, context);
this.state = {
now: Date.now()
}
}
constructor
を使用するとsuper()
と書かなければなりません.this
を初期化するために使用され、このイベントにバインドすることができます.constructor
でthis.props
を使用する場合は、superにパラメータを追加する必要があります:super(props)
;(constructor
があるかどうかにかかわらずrenderではthis.props
が使用可能で、これはReact自動付属です)render
最も一般的なhookは、コンポーネントがレンダリングするテンプレートcomponentDidMount
コンポーネントの最初のロード時にレンダリングが完了するイベントは、一般的にここでネットワークデータを取得し、実際にプロジェクト開発を開始する際にshouldComponentUpdate
は主に性能最適化に用いられ,Reactの性能最適化も重要な話題であるcomponentDidUpdate
コンポーネントの更新後にトリガーされるイベントは、一般的にデータを空にして更新するために用いられ、実際のプロジェクト開発時(例えばルーティング更新)には、更新完了componentWillUnmount
コンポーネントが破棄前にトリガーするイベント、一般ユーザが特定の情報を記憶すること、setTimeout
イベントをクリーンアップすることなど