react 组件 函数式调用 离开时为什么无法触发生命 componentWillUnmount

2019-09-08 00:37:34 +08:00
 coderabbit

某个 Modal 组件 正常调用

<Modal/>

这样或以正常监听到生命周期。

但是以函数式的调用就触发不了生命周期 componentWillUnmount

modal() {
 Modal.confirm({
 })
}

这种法写 正常调用还是函数式调用都可以 componentDidMount 是可以触发的。 但是路由变化变形页面函数式调用就导致了 componentWillUnmount 它无法触发。从 componentDidMount 监听的事件 设置的定时器也无法销毁。想问下如何处理它呢!

3347 次点击
所在节点    React
3 条回复
coderabbit
2019-09-08 01:03:19 +08:00
我又写了个
```
Modal.close();
```
调用组件的页面
```
componentWillUnmount() {
Modal.close();
}
```
来全局关闭它!但我还是想通过组件的 componentWillUnmount 来触发这个生命周期! 我去网上看了一圈组件,发现它们的函数式调用 都存在这个问题!
yuang
2019-09-08 12:18:05 +08:00
confirm 的写法直接在 onClose 属性中调用不就行了吗
coderabbit
2019-09-08 13:50:57 +08:00
@yuang 调用你要手要触发一次啊,我想的是 离开页面就销毁

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

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

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

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

© 2021 V2EX