javascript - 在异步功能之前反应 usestate setvalue
问题描述
第一次尝试反应上下文 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
回调函数,因此您可以使用 来执行此操作useEffect
,如下所示:
useEffect(() => {
onEventSave();
},[valChanged]);
valChanged
每当更改时都会调用上述函数
推荐阅读
- android - KivyMD,在 android 中看不到图标,但在 linux 上工作
- javascript - 在 HTML5 Canvas 中绘制按钮的问题
- python - 我如何在 Pygame 中保持旋转正方形?
- r-exams - 导出到 BBLearn 的问题被导入到单独的池中,而不是一个池中
- html - yajra 数据表在移动视图中响应表外
- flutter - 垂直滚动+上下效果
- java - 入站通道适配器 - 基于 Java / 注释的配置以使用控制总线启动/停止
- c# - Linq 语句有 10 个错误
- node.js - 在heroku上部署后反应网络错误
- javascript - 为轮播绘制一行内容