更新 redux 存储后返回时出现 react-dom 错误

react-dom error when going back after updating the redux store

我在我的 React 项目中遇到了一个奇怪的错误。如果我从主页转到下一页,一切正常。下一页点击 API 并更新 Redux 存储。现在,如果我点击后退按钮或尝试通过 react-router-dom(history.go(-1)) 返回,我的页面会抛出此错误:

这是应用程序的 working CodeSandbox link。以下是重现错误的方法:

请注意,如果我不更新商店然后返回上一页,那么一切正常。

在您的文件中 app/screens/EmployeeDetails/employeeDetails.jsx 您有:

useEffect(() => dispatch(fetchEmployee(name)), [])

此处的隐式 return 试图将分派的结果用作 useEffectcleanup。你的错误发生是因为它试图调用清理函数,因为你没有 return undefined,但是你 return 编辑了 Promise 而不是 function useEffect 预期用于清理(因此错误:'is not a function')。

您应该添加大括号以避免隐式 return:

useEffect(() => { dispatch(fetchEmployee(name)) }, [])