小编Vis*_*har的帖子

React 中的上下文值未在事件侦听器内更新

我正在用 React 构建一个简单的游戏。问题是上下文已正确更新,但事件侦听器函数内的上下文值未更新。如果我访问事件函数外部的值,则会呈现新的更新值。

对于第一个 keyup 事件,该值将为 0,但对于下一个事件,它应该是新的更新值。

  const updateGame = useUpdateGame();
  const gameData = useGameData(); 
  //Assume Default gameData.board value is 0

  // Assume context value updated to 5

  useEffect(() => {
    document.addEventListener("keyup", (e) => {
      e.stopImmediatePropagation();
      console.log(gameData.board) //0
      handleKeyPress(e.key, gameData.board, updateGame);
    });
  }, []);
  console.log(gameData.board) //5
Run Code Online (Sandbox Code Playgroud)

reactjs react-context react-hooks

1
推荐指数
1
解决办法
1259
查看次数

标签 统计

react-context ×1

react-hooks ×1

reactjs ×1