我想卸载我的组件,然后在某个时间再次安装。为此我正在为组件分配一个新密钥。
<div>
<Game key = {this.state.gameId}
createNewGame = {this.createNewGame.bind(this)}
rows = {5}
columns = {5}
activeCellsCount = {6} />;
</div>
我有一些计时器可以清除我将它们放在componentWillUnmount()中,如下所示,
componentWillUnmount() {
console.log("I am in Component will Unmount");
clearTimeOut( this.memorizeTimerId );
clearTimeOut( this.recallTimerId );
this.finishGame();
}
当我尝试卸载并挂载时,通过指示clearTimeOut()方法,将componentWillUnmount()内的错误视为“未捕获的ReferenceError:clearTimeOut未定义”。 componentWillUnmount()放在'Game'组件中。这种方法有什么问题吗?
答案 0 :(得分:0)
您的代码中存在拼写错误。
clearTimeOut( this.memorizeTimerId );
将此更改为
clearTimeout( this.memorizeTimerId );
工作正常,我试过了。