redux正在react钩子中调度prevState值



在我的应用程序中,我需要在字段更改时将子组件中的数据发送给父组件,当子组件卸载时,我想将完整的数据发送到redux,当子部件再次装载时,我希望从redux预加载它。

在我的实现中,我通过向父组件发送数据来实现这一点,在卸载时,我传递了一个回调,在该回调中,父组件将状态分派给redux,当子组件再次装载时,我使用useSelector来获取redux值。

但我面临的问题是redux正在调度prevState值,而不是更新的值。当我第二次卸载组件时,更新后的值会被调度

我正在附加代码沙盒链接

https://codesandbox.io/s/react-redux-with-hooks-forked-hp79o?file=/src/App.js

复制步骤:

在文本框中键入您的姓名和电子邮件。单击卸载按钮以卸载子组件。(调度的值将为空(再次单击卸载按钮以装载子组件。(文本框不会预先填充(再次单击卸载以进行卸载。(这次发送的值将是所写的姓名和电子邮件(再次单击装载以进行装载。(文本框将在此次发送值时预先填充(。

我不知道哪里出了问题。

您需要使用useRef和useEffect的组合,以使当前状态更改在卸载过程中可用对此进行了解释

https://www.timveletta.com/blog/2020-07-14-accessing-react-state-in-your-component-cleanup-with-hooks/

更新的代码有效的沙盒代码在这里https://codesandbox.io/s/react-redux-with-hooks-forked-gymhl?file=/src/Unmounted.js

最新更新