私はちょうどcomponentWillUpdate
がトリガーする場所を考え出すのにいくつかの問題を抱えていました。ドキュメントはレンダリングの前にトリガします。しかし私のコンポーネントでは、唯一の小道具の変更はdefaultValue
です。これはudpateのDOMには影響しません。だから私はどのように私のcomponentWillUpdate
がトリガーされていますか?私はそれが実際にバーチャルDOMを変更したかどうかを調べるために小道具/州がテストされた後にのみトリガされたと考えていました。componentWillUpdateの後にvritual dom diffingが実行されましたか?
答えて
ComponentWillUpdate()
は、DOMが更新されるかどうかに関係しません。これは、レンダリングされる前にあなたの小道具にいくつかの操作を実行するためのフックとしてのみ使用されます。小道具が変更された場合にコンポーネントがレンダリングされないようにするには、shouldComponentUpdate()
note ComponentWillUpdate()
は最初に実行する(マウントする)ときに呼び出されません componentWillMount()
ありがとうDirtyRedz、あなたは/レンダリングであなた/文書の意味を説明pleae。 virutal domがdiffedされた後に、それが更新されるように仮想domに変更があると決定したのですか?小道具が変更されていない場合と同様に、それは引き起こすでしょうか? – Noitidart
最初にレンダリングすると、htmlがdomにマウントされます。それ以降のレンダリングでは、バーチャルドームの相違点を確認します。 – DirtyRedz
レンダリングは効果的に呼び出され、子コンポーネントがレンダリングされます。そのため、メソッドshouldComponentUpdateが提供され、レンダリングの数を減らすことができます。アプリが非常に大きく、レンダリングチェックの大部分を必要としないようにします。中小のアプリではこれは問題ではありません – DirtyRedz
- 1. javascriptが実行された後domからhtmlを取得
- 2. DOMから削除した後も動的に追加された機能がまだ実行中
- 3. DOM内に要素が表示された後で関数を実行する
- 4. DOMがAngular Jsでロードされた後にJqueryを実行する方法
- 5. jQuery - .load()が完了し、DOMが更新された後に関数を実行します。
- 6. Binding.scalaでDOMにロードされた要素の後に実行する方法
- 7. Sidekiqは他のジョブが実行された後にジョブを実行します
- 8. Cycle.jsでレンダリングされたすべてのDOMの後にjsコードを実行
- 9. angular2でロードされたサブコンポーネントの後に実行しますか?
- 10. アクションが実行された後のアクションスクリプト
- 11. コマンド実行後にGcloud sshパーミッションが拒否されました
- 12. アクティビティが表示された後にAsyncTaskを実行します。
- 13. 実行後にPython smtplibエラー.pycが保存されました
- 14. 実行後にOracleジョブが削除されました
- 15. 角度ng-if条件の実行後にセレンDOMが変更されない
- 16. DOMがロードされた後、ページスクリプトが実行される前にGoogle Chromeコンテンツスクリプトを実行する方法はありますか?
- 17. メソッドが実行された後にループプログラムが再度実行される
- 18. Bubbling componentWillUpdateとcomponentDidUpdate
- 19. AngularJS - DOMがレンダリングを完了した後でディレクティブを実行します
- 20. が作成され、挿入されたDOM要素に関数を実行
- 21. DOM操作が完了した後にのみ実行を続ける
- 22. 最後のビルドからファイルが変更された場合にのみ、プラグインの実行を実行します。
- 23. jqueryの後に何かを実行すると、DOM(AJAXリクエスト)が更新されます
- 24. rspecが実行されるたびに.rspecファイルが実行されますか?
- 25. CATCHブロックの後にコードが実行されますか?
- 26. laravel5.3で__constructの後にミドルウェアが実行されますか?
- 27. Select2ドロップダウンメニューがDOMから削除された後も表示されます
- 28. drappableの "over event"を実行した後、ドラッグ可能なポジションが実際に変更されましたか?
- 29. 角2 - DOMがレンダリングを完了した後に関数を実行
- 30. git fetchを実行した後にコードがダウンロードされない
これらは2つの異なるものです。 diffは、レンダリング後に実行され、小道具が変更されるたびに 'update'が実行されます(' componentWillUpdate'で 'false'を返さないようにすることができます)。 –
おかげで@FezVrastaは面白いです。それはfalseでコンポーネントWillUpdateで戻ってくるのを防ぐことができます "してください?そして、 'compoentWillUpdate'は、' compoentWillReceiveProps'(状態パラームとcomponentWillUpdateの予防を無視して)とはまったく異なっていませんか? – Noitidart
申し訳ありませんが、私は['componentShouldUpdate'](https://facebook.github.io/react/docs/react-component.html#shouldcomponentupdate) –