我通过为组件分配ref然后在设置状态之前检查ref是否存在来解决这个问题:
myMethod(){ if (this.refs.myRef) this.setState({myVar: true}); } render() { return ({this.state.myVar}); }
谢谢你!然而,这是非常恶化的.几乎我的所有场景都基于promise进行加载,并抛出此错误.为什么React只能默默地拒绝在卸载状态下运行setState.这并不像任何人会看到差异. (10认同)
Brigand.. 23
removeEventListener
与...有相同的签名addEventListener
.删除侦听器的所有参数必须完全相同.
var onEnded = () => {}; audioNode.addEventListener('ended', onEnded, false); this.cleanup = () => { audioNode.removeEventListener('ended', onEnded, false); }
并在componentWillUnmount调用this.cleanup()
.
我通过为组件分配ref然后在设置状态之前检查ref是否存在来解决这个问题:
myMethod(){ if (this.refs.myRef) this.setState({myVar: true}); } render() { return ({this.state.myVar}); }
removeEventListener
与...有相同的签名addEventListener
.删除侦听器的所有参数必须完全相同.
var onEnded = () => {}; audioNode.addEventListener('ended', onEnded, false); this.cleanup = () => { audioNode.removeEventListener('ended', onEnded, false); }
并在componentWillUnmount调用this.cleanup()
.