You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
开发时由于一直在这个页面,没有发现问题,但是同事测试时发现,一进这个页面没等 setProjects(res.data.result.records) 时就跳转到其他页面,就报错:
**Can't perform a React state update on an unmounted component. **
我用 React Hooks 开发的项目。
在设备列表页面时一进来要查该用户能看的项目,所以我是这样写的:
开发时由于一直在这个页面,没有发现问题,但是同事测试时发现,一进这个页面没等
setProjects(res.data.result.records)
时就跳转到其他页面,就报错:**Can't perform a React state update on an unmounted component. **
一开始觉得很纳闷,后来发现是
setProjects(res.data.result.records)
这里有问题,组件卸载了,但是之前是调接口异步去setProjects(res.data.result.records)
的,对一个已经卸载的组件去设置state,当然有问题!问题找到了,如何解决?这个问题倒困扰了我不少时间。
起初我寄希望于 React 官方有什么api能限制,去github 的issue上搜了下,不少跟我相似的问题,后来在 facebook/react#15006 这里找到解决方法,方法很简单,但是我没想到。。。
加个标识符就好了:
The text was updated successfully, but these errors were encountered: