繁体   English   中英

在异步 function 之前反应 usestate setvalue

[英]react usestate setvalue before async function

第一次尝试反应上下文 api。 这是我使用上下文 api 的反应代码

  const [valChanged, setValChanged] = useState(false);

  async function modalSave() {
    await setValChanged(true);// STEP 1
    await onEventSave();// This involves saving values to backend (async) STEP 2
  }

onEventSave() 异步操作依赖于上一步的 valChanged 值,因此必须在调用 onEventSave 之前将其设置为 true。 (在调用 STEP 2 之前,必须完成步骤 1 并将其值设置为 true)

这里有什么遗漏吗?

如果你使用钩子,没有setState回调 function,所以你可以用useEffect ,像这样:

useEffect(() => {
    onEventSave();
},[valChanged]);

每当更改valChanged时,都会调用上述 function

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM