我什么时候应该调用componentWillUnmount()方法?

时间:2017-07-07 05:48:21

标签: javascript reactjs react-redux

我想卸载我的组件,然后在某个时间再次安装。为此我正在为组件分配一个新密钥。

 <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'组件中。这种方法有什么问题吗?

1 个答案:

答案 0 :(得分:0)

您的代码中存在拼写错误。

clearTimeOut( this.memorizeTimerId );

将此更改为

clearTimeout( this.memorizeTimerId );

工作正常,我试过了。