Reactコンポーネントの1つにJSONの配列が渡されます。コンポーネントにはcomponentDidUpdateが含まれています。私はレンダリングの直前にこの関数が実行されていることを知っており、nextPropsとnextStateを見ることができるので、それらを現在のものと比較することができます。しかし、内側の作業はここでcomponentDidUpdate内部動作が混乱している
は私のプログラムのステップである私を混乱させる:
-
:
- 親コンポーネントこのコンポーネントはcomponentDidUpdateを実行し、このコンポーネントへ
を新しく更新されたリストを渡します
- 古いリストとこの新しい更新リストを比較します。このコンポーネントは、そのI私はconsole.logが続き
differenceList
に従ってレンダリング
differenceList
)このコンポーネントの状態に押し込み、新しく追加されたアイテムを探しますすべてが置かれている。私が見つけたユニークなアイテムComponentWillUpdate
- の更新をトリガした後
は//:「1336」とコードの次の行を
- が持つべき配列にそれをプッシュするだけで、それをプッシュ
self.setState({differenceList: self.state.differenceList.concat(item.id)});
- がComponentWillUpdateの最後に達した場合、this.state.differenceListは次のようになります。[] // what ??
- this.state.differenceListは、描画関数を入力すると次のようになります。[]
- ComponentWillUpdateを入力する//もう一度やり直してください。
- ComponentWillUpdate、this.state.differenceListの終わりである:[]
- 機能をレンダリング入力、this.state.differenceListは:[ "1336"]
理由#4
が空で表示されています?
#6
なぜ再びcomponentWillUpdateに入ったのですか?それは私がcomponentWillUpdate内の状態を更新したからですか?何故なら#5
が空の状態を示しているのですか#8
レンダリング機能を再度入力した後、突然変更された状態が表示されます。
私はそのサイトを数回読んだが、重要なメモを忘れてしまったと思う。どうもありがとう!非同期で私に感謝してくれてありがとう! – user308553