小编viv*_*anu的帖子

UseState 总是显示以前的值

这是所有新反应开发人员中的一个流行问题,但不知何故我无法理解可用解决方案背后的逻辑。我正在尝试使用钩子更新状态变量并尝试读取更新后的值,但它总是返回先前的值而不是新值。下面是我的代码执行顺序。

onClick={setTransactionAccountId}
Run Code Online (Sandbox Code Playgroud)

单击按钮时,它会执行以下代码并更新状态,但会console.log显示旧值。

const [accountId, setAccountId] = useState(0);

const setTransactionAccountId = e => {
  console.log("Clicked ID:", e.currentTarget.value);
  setAccountId(e.currentTarget.value);
  console.log("accountId:", accountId);
};
Run Code Online (Sandbox Code Playgroud)

控制台日志:

  1. 点击第一个按钮:

单击的 ID:0 帐户 ID:0

  1. 第二个按钮点击:

单击的 ID:1 accountId:0

谁能告诉我这种行为背后的原因以及如何解决它。

javascript reactjs react-native react-hooks use-state

6
推荐指数
2
解决办法
1万
查看次数