gpt4 book ai didi

javascript - React/Mobx - 组件正在重新渲染,但未调用 componentWillReceiveProps()

转载 作者:数据小太阳 更新时间:2023-10-29 05:28:35 30 4
gpt4 key购买 nike

我有 React/Mobx 应用程序。当我在商店中进行更改时,组件正在更新(重新渲染),但我需要进行一些比较以添加更多功能,因此我想使用 componentWillReceiveProps(nextProps) 并将 nextProps 与 this.props 进行比较。不知何故,它没有被调用。任何想法,我做错了什么,或者我还能做些什么来获得它?

最佳答案

tl;dr:使用 componentWillUpdatecomponentDidUpdate


作为 prop 传递的对象 Store 永远不会改变,即使它的内容发生变化。使用@observable 的技巧在于它会在不更改 props 的情况下触发组件中的更新。因此,使用诸如 shouldComponentUpdate、componentWillReceiveProps 和 componentDidReceiveProps 之类的生命周期函数将不起作用,因为它们会在组件的 props 或状态发生变化时被触发。 mobx 文档在 shouldComponentUpdate 中对其进行了很好的解释。部分。

因此,要在可观察对象中捕获更新,我们必须更深入地了解生命周期堆栈并使用 componentWillUpdatecomponentDidUpdate

关于javascript - React/Mobx - 组件正在重新渲染,但未调用 componentWillReceiveProps(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45775891/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com