三州とSETSTATE 14React組立・サイクル・コール

まず、部品の三つの状態

状態:取り付け(ロード)は
、レンダリングとcomponentDidMount、getInitialState、componentWillMountのライフサイクルを管理する責任mountComponent。
1、コンストラクタ(コンストラクタ)管理getDefaultProps;
2は、第一mountComponentローディングアセンブリによって;
; 3、ステータスは、実装に設定されている
、getInitialState取得初期化状態を行い、4更新キューを初期化(1);
5(2)componentWillMountを実行し、[ ;] [再レンダリングをトリガするのではなく、状態]マージしない、その中にSETSTATEを呼び出す]を
[1]、ラベル更新状態NULLであるステータス・ラベルを更新し、6 [2];
7(3)ここで、レンダリングを行います内部this.stateは、更新されたデータを取得することができる;
8(4)componentDidMountを行います。

状態2:RECEIVE_PROPS(プロパティを受けます)
componentWillReceiveProps、shouldComponentUpdate、componentWillUpdate、レンダリングとcomponentDidUpdateのライフサイクルを管理する責任updateComponent。updateComponent再帰的な性質に起因する再帰的な特性のために、コンテンツをレンダリングすることで、それは特定のサブコンポーネントのcomponentWillUpdateの親コンポーネントを呼び出すcomponentWillUpdate前、およびそのサブコンポーネントのcomponentDidUpdate後に呼び出さ確かcomponentDidUpdate親コンポーネント。
図1に示すように、状態がRECEIVING_PROPSに設定されている;
2(1)componentWillReceivePropsの実装は、[それはSETSTATEを呼び出し内[、再レンダリングをトリガしない、マージされた状態]]];
3、更新ステータスがマークされているNULL [1];
4 ;(2)shouldComponentUpdateコンポーネントアップデートを決定するかどうかを行う
(3)5、実行componentWillUpdate;
。、6、更新状態[ラベル2]
(4); 7、実行レンダリング
8が実行される(5)componentDidUpdate;

第3の状態:アンマウント(アンインストール)
componentWillUnmountのライフサイクルを管理する責任unmountComponent。
図1に示すように、状態がアンマウントに設定されている;
2、componentWillUnmountの実装は、その内部コールSETSTATEにおいて、再レンダリングをトリガしません。
図3は、更新ステータスは、NULLラベル[1]、アンローディング動作が組立完了されます。

二つ、SETSTATEサイクル呼び出し
1、現在の状態がNULLでない場合、それは状態の統合となり、SETSTATEを呼び出し、現在の状態がNULLであれば、今度は呼び出し、その後enqueueUpdate更新を実行する(更新キューに入れられた)を呼び出し、その後updateComponent(コンポーネントの更新)を呼び出しますshouldComponentUpdateとcomponentWillUpdate。
2、もしコールSETSTATE shouldComponentUpdate又はcomponentWillUpdate、状態はNULLであるこの時点で、それは順番に、サイクル呼び出しを引き起こし、updateComponent(更新コンポーネント)、さらにコールshouldComponentUpdate componentWillUpdateを呼び出し、更新を実行するenqueueUpdate(更新キュー)を呼び出すので。
3、また、サイクル呼び出しを引き起こす疑いがある、SETSTATEを呼び出し、ライフサイクルの後ろにそれをレンダリングします。
4、isBatchingUpdatesのデフォルトはSETSTATEが更新さthis.stateを意味し、偽であり、もう一つは、NULLブール変換にfalseです。

おすすめ

転載: www.cnblogs.com/gushixianqiancheng/p/10964073.html