卸载组件后如何调用函数?

时间:2018-10-15 10:22:58

标签: javascript reactjs

我有一个组件会在某个时候调用browserHistory.push(url),在卸载该组件并安装下一个组件之后,我需要调用一个函数。目前,我正在使用setTimeout,因为似乎卸载组件会立即触发所有setTimeouts。有更好的方法吗?

3 个答案:

答案 0 :(得分:3)

我不确定该函数的作用,但是最好是在下一个组件的componentDidMount中调用它。

答案 1 :(得分:1)

如果进行条件渲染,则可以使用父组件来调用该函数。 您也可以像@Hasan所说的那样在下一个组件中使用componentDidMount

答案 2 :(得分:1)

您应该阅读react https://reactjs.org/docs/state-and-lifecycle.html

的生命周期文档

供您使用的主要两种方法是componentDidMount。您可以在推送URL后呈现的下一个组件的此方法内调用函数。 显然,您的旧组件当时已卸载。

我现在只能建议这种方法。也许您的函数具有不同的依赖关系,这需要在旧组件本身中进行调用。