在异步函数之前反应使用状态设置值
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
改变
就会调用上面的函数
第一次尝试 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
改变