在异步函数之前反应使用状态设置值

react usestate setvalue before async function

第一次尝试 React 上下文 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。 (必须完成第 1 步并将其值设置为真,然后才能调用第 2 步)

这里有什么遗漏吗?

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

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

只要 valChanged 改变

就会调用上面的函数