reactjs - 是否可以在 Immer 的 product() 中设置状态?
问题描述
现在
await this.setState(produce(this.state, (draft) => {
draft.item.is_loading = true;
}));
this.setState(await produce(this.state, async (draft) => {
// is_loading is true now.
const name = await get_name();
draft.item.name = name;
draft.item.is_loading = false;
}));
预期的
this.setState(await produce(this.state, async (draft) => {
let name;
draft.item.is_loading = true;
// set state here first.
name = await get_name();
draft.item.name = name;
draft.item.is_loading = false;
}));
我想在调用过程中设置状态produce()
。可能吗?如果有什么好主意,请告诉我。谢谢。:D
那是因为我认为将两个块连接在一起更具可读性。特别是当我可以重用在前者中声明的变量时。它看起来很微不足道,但是源代码变得越复杂,对我来说就越不自然。
解决方案
推荐阅读
- angularjs - browser.addEventListener 不是函数
- intellij-idea - 无法在 IntelliJ 中使用处理 3
- python - 如何在 SQLAlchemy 中获得孤立的 SQL 语法错误
- visual-studio - 我在离线安装 Visual Studio 2017 时遇到问题
- merge - 使用“将 [分支名称] 合并到当前分支”选项的最佳方法是什么 - SourceTree
- pyinstaller - PyInstaller 导入错误
- microsoft-graph-api - 是否有任何 API 可用于在一个驱动器图 API 中获取垃圾(回收站)项目?
- javascript - PHP 无法上传图片,也看不到 $image 值。所有其他工作,都是关于 ajax,没有刷新表单
- angular - 使用 ng-bootstrap modal Angular 2+ 使模式淡入/淡出
- apache-beam - 在 Apache Beam 中将嵌套的重复字段组合成数组