coderabbit
V2EX  ›  React

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

  •  
  •   coderabbit · Sep 8, 2019 · 3902 views
    This topic created in 2468 days ago, the information mentioned may be changed or developed.

    某个 Modal 组件 正常调用

    <Modal/>
    

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

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

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

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

    3 replies    2019-09-08 13:50:57 +08:00
    coderabbit
        1
    coderabbit  
    OP
       Sep 8, 2019
    我又写了个
    ```
    Modal.close();
    ```
    调用组件的页面
    ```
    componentWillUnmount() {
    Modal.close();
    }
    ```
    来全局关闭它!但我还是想通过组件的 componentWillUnmount 来触发这个生命周期! 我去网上看了一圈组件,发现它们的函数式调用 都存在这个问题!
    yuang
        2
    yuang  
       Sep 8, 2019 via Android
    confirm 的写法直接在 onClose 属性中调用不就行了吗
    coderabbit
        3
    coderabbit  
    OP
       Sep 8, 2019
    @yuang 调用你要手要触发一次啊,我想的是 离开页面就销毁
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3132 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 13:32 · PVG 21:32 · LAX 06:32 · JFK 09:32
    ♥ Do have faith in what you're doing.