fangzhengjin / umi-plugin-panel-tabs

umi-plugin-panel-tabs
MIT License
86 stars 20 forks source link

怎么在关闭tab之后清理掉tab中的数据 [Question] #56

Closed js515990 closed 1 year ago

js515990 commented 1 year ago

e.g. 某个tab里有一个websocket连接,希望关闭tab之后这个连接可以自动或者手动断开,有什么好的办法吗,目前这个连接会一直维持下去

fangzhengjin commented 1 year ago

试着把这个对象放到InitialState保管? 页面每次从这里取来使用, 配合layout的onPageChange可以管理什么时候连接 什么时候释放

js515990 commented 1 year ago

试着把这个对象放到InitialState保管? 页面每次从这里取来使用, 配合layout的onPageChange可以管理什么时候连接 什么时候释放

onPageChange好像没办法判断是之前的tab关闭了 or 只是切换到了一个其他的tab?如果只是切换到了一个其他的tab,这个连接还是要保留的,关闭的时候再释放连接

fangzhengjin commented 1 year ago

我试了一下 你这个问题 用useEffect可以解决啊....你之前咋处理的

fangzhengjin commented 1 year ago
useEffect(() => {
    // to do something
    return () => console.log('cleanup');
}, []);
js515990 commented 1 year ago

我试了一下 你这个问题 用useEffect可以解决啊....你之前咋处理的

之前挂着也影响不大就没处理...感谢解惑!