有没有办法保证两个反冲状态变化的顺序?就像我有
const setStateOne = useSetRecoilState(stateOne)
const setStateTwo = useSetRecoilState(stateTwo)
有没有一种规范的方法来更新 stateOne,然后才更新 stateTwo?两个 setter 都返回 void,所以我不知道何时进行了更新。如果他们回来Promise<void>
了,那么我可以做类似的事情setOne().then(setTwo())
我的用例本质上是我有一个自定义钩子,它将Partial<Foo>
各种道具映射到表示一种Foo
类型的不同原子中,我有一个自定义钩子,它采用Bar extends Foo
并映射Bar
到表示Foo
类型的各种原子加上其他原子(包括一种Bar
类型)。
我需要合并 aBar
然后Foo
写入Bar
原子。最简单的方法是重用我的自定义钩子来编写 Bar 然后应用 Partial 的东西。
否则,我需要编写合并函数,考虑到我们正在处理的实际状态的巨大,这将是,呃,庞大的。(以前的开发者有一个来自后端的对象,它不仅代表业务对象,还代表UI 状态)。我的代码只有业务对象。需要预加载 UI 状态,然后是我的业务对象。
重写提供 UI 状态的代码根本不是一种选择。时间和金钱的限制,以及缺乏做出决定或说服他人的权力。