React/Mobxアプリケーションがあります。ストアで変更を加えるときに、コンポーネントが更新(再レンダリング)されていますが、いくつかの機能を追加するためにいくつかの比較を行う必要があるため、componentWillReceiveProps(nextProps)を使用しnextPropsとthis.propsを比較します。どういうわけかそれは呼ばれていません。どんなアイデア、何が間違っているのか、それを得るために何ができるのですか?React/Mobx - コンポーネントが再レンダリングされていますが、componentWillReceiveProps()が呼び出されていません
5
A
答えて
1
TL; DR:componentWillUpdate
とcomponentDidUpdate
渡されたオブジェクトストア小道具が決して変化しないように、でもその内容の変更を使用します。 @ observableを使用するトリックは、コンポーネント内で更新をトリガーすることで、プロップを変更することがないということです。 shouldComponentUpdate、componentWillReceiveProps、およびcomponentDidReceivePropsなどのライフサイクル機能を使用すると、コンポーネントの小道具または状態が変更されたときにトリガされるため、機能しません。 mobxのドキュメントはshouldComponentUpdateセクションでうまく説明しています。
したがって、オブザーバブルで更新をキャッチするには、ライフサイクルスタックで少し深く移動し、componentWillUpdate
とcomponentDidUpdate
を使用する必要があります。
関連する問題
- 1. componentWillReceiveProps()が子コンポーネントで実行されていませんか?
- 2. componentWillReceivePropsはアクションにもリダンダントが呼び出されません
- 3. が呼び出されていますが、描画されていません
- 4. Axios.all in componentWillReceivePropsが呼び出されていない
- 5. applicationDidBecomeActiveがまったく呼び出されていません
- 6. fbDidLoginまたはfbDidNotLoginが呼び出されていません
- 7. 関数が呼び出されていても呼び出されていませんか?
- 8. TThreadとCOM - "CoInitializeが呼び出されていません"、CoInitializeがコンストラクタで呼び出されました
- 9. signalR connection.hub関数が反応コンポーネント内で呼び出されていません
- 10. 表示が開始されていますが、drawRect:が呼び出されていません
- 11. LibGDXレンダリングが呼び出されない
- 12. サブコンポーネントがレンダリングされていません
- 13. カラースウォッチイメージがレンダリングされていません
- 14. テンプレートがレンダリングされていません
- 15. ボタンはレンダリングされますが、コールバックは呼び出されません
- 16. マウントされていないコンポーネントでsetState(...)が呼び出されました
- 17. 呼び出し元アクティビティでonActivityResultが呼び出されていません
- 18. cellForRowAtIndexPathが呼び出されていませんか?
- 19. XmlHttpRequest.onloadが呼び出されていません
- 20. IntentServiceが呼び出されていません
- 21. Android Wear onDataChangedが呼び出されていません
- 22. PHPコンストラクタが呼び出されていません
- 23. NSSortDescriptorが呼び出されていません
- 24. NSURLSessionDataDelegateメソッドdidReceiveDataなどが呼び出されていません
- 25. View.post()が呼び出されていませんか?
- 26. AsyncTask onPostExecuteが呼び出されていません
- 27. CustomValidatorが呼び出されていません
- 28. Android onPreviewFrameが呼び出されていません
- 29. Image.load関数が呼び出されていません
- 30. DidEndSendingToApplicationが呼び出されていません
あなたのコードをここに貼り付けてください。 –
これを見てください:https://github.com/mobxjs/mobx-react/issues/281 – robertklep
そして、特に** urugator **の説明。 https://github.com/mobxjs/mobx-react/issues/281#issuecomment-309410018 – felixmosh