求思路, 如何解决 react hook 使用 generator function 报的组件销毁依然改变 state 的错误。

2021-10-14 13:53:38 +08:00
 erwin985211

大致代码如下

dataSource = React.useMemo(一个 generator function)

let faultState = useInfiniteVirtualScroll({ dataSource, }) // 自定义 hook 。

retrue ( 根据 faultState 渲染的 jsx)

大致就是这些代码,在组件的 generator function 还未完成时销毁组件,react 会报一个

/Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function./

就是组件都销毁你还改变 state,目前尝试

React.useEffect(() => {
    return () => {
        faultState= null as any
        dataSource = null as any
    }
}, []) 

没有效果,求思路
515 次点击
所在节点    问与答
2 条回复
4ark
2021-10-14 14:32:47 +08:00
erwin985211
2021-10-14 15:31:20 +08:00
@4ark 思路确实是这样了,我仔细找了是我找的组件的问题已经给它提 bug

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/807792

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX