Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应生命游戏(点击过快时出错)_Javascript_Reactjs_Onclick_Dom Events - Fatal编程技术网

Javascript 反应生命游戏(点击过快时出错)

Javascript 反应生命游戏(点击过快时出错),javascript,reactjs,onclick,dom-events,Javascript,Reactjs,Onclick,Dom Events,我正在与React建立一个生活游戏。当我通过每秒单击1-2次来设置“活动”单元格时,效果很好,但当我尝试更快地单击时,会出现错误: “TypeError:无法读取undefined的属性'undefined' 指向函数表达式的第四行时出错: const onClick = (e) => { const indexies = e.target.id.split(","); const x = indexies[0]; const y = index

我正在与React建立一个生活游戏。当我通过每秒单击1-2次来设置“活动”单元格时,效果很好,但当我尝试更快地单击时,会出现错误:

“TypeError:无法读取undefined的属性'undefined'

指向函数表达式的第四行时出错:

const onClick = (e) => {
    const indexies = e.target.id.split(",");
    const x = indexies[0];
    const y = indexies[1];
    setGrid([...grid], (grid[x][y] = !grid[x][y])); //error line
  };

使用函数更新网格状态可能会解决您的问题:

setGrid((prevGridState) => "return your new state here")

由于状态更新是异步的,因此可能会出现过快的更改不能反映当前状态的情况。这可能有助于限制您的状态更新: