我想在 React 组件中重复调用一个函数,从它挂载到卸载,并使其与 webpack HMR(热重载)一起使用。
最简单的方法是按照 ReactJS 文档中的建议在 componentDidMount 中设置间隔:[1]:https ://facebook.github.io/react/docs/component-specs.html#mounting-componentdidmount
componentDidMount () {
const number = Math.floor(Math.random() * 1000) + 1
setInterval(() => console.log('Component ' + number.toString()), 5000)
}
我已经搜索过,但找不到在 webpack HMR 为我们更新的组件调用 componentDidMount 之前清除间隔的解决方案。这意味着每次模块热重新加载时我们都有一个新的时间间隔。
注意:componentWillUnmount
在 Webpack 重新打包之前不调用
更新:componentWillUnmount
正确设置 HMR时应调用重新捆绑
使用 webpack HMR 实现重复延迟函数调用的最佳方法是什么?