我有一个同步流
const data = store.getState().data
// ... rest of the code
如果data === undefined
我想得到它并存储在data const
中,与此类似
const data = store.getState().data || getData()
// wait till the data not undefined
// ... rest of the code
getData()
只是dispatch({ type: GET_DATA_ASYNC })
由于此调度是async
,它将被saga watcher
捕获并执行,并且数据对象将被更新。
我的问题是我想不出如何优雅地处理这个问题,很明显,我想:
从商店获取价值
如果没有值-请求存储更新(通过现有操作)
此特定值更新后-找回
并将其存储在data const
顺便说一句:这都是在外部util函数中发生的
答案 0 :(得分:0)
如果您正在使用React挂钩,则可以使用“ react-redux”中的useSelector挂钩。 该挂钩可让您直接访问商店并在商店更新时获取数据。
import { useSelector } from "react-redux";
export default function Test() {
const data = useSelector(store => store.__reducerVariable_name__);
console.log(data);
// ...
return data;
}