项目中,我切换了路由,每次进入页面时,某个组件componentDidMount都执行了,但切换路由跳转其他页面时,componentWillUnmount却不触发,其他组件都能执行componentWillUnmount?
请问大佬这是为什么,与路由设置有关吗?
componentWillUnmount是属于组件生命周期的一部分,setState或者调用props中方法完全可以的.
不知题主,是否在componentWillUnmount()中先尝试console.log一下,首先你需要确认的是你的组件中的componentWillUnmount()是否被触发了.
我分析,多半是因为componentWillUnmount()根本就没有被触发,而导致改方法其中的业务逻辑没有执行.
说到为什么componentWillUnmount()没有被触发,很有可能是因为你用了 路由 而没有对其中路由栈参数做配置.
望能帮到你.