首页 > 解决方案 > 在监听器函数中访问 redux 的最后状态

问题描述

我有一个带有信号回调的反应功能组件我如何访问最后一个 redux 状态:

const Demo = ()=>{
const data = useSelectore(s=>s.items);
const dispatch= useDispatch();
const listener = (x)=>{
console.log(data);//here i need access to last state
}
signalObj.on("EventName",listener);
//== init items
useEffect(()=>{
//=== after api calls
dispatch(initItems(items));
},[])

}

在上面的示例中,项目状态将在第一次使用 api 调用渲染后初始化,我应该存储正在使用的项目 ref,是这样吗?

标签: react-reduxlistener

解决方案


我发现最好的方法是使用 redux thunk,因为你可以获得最后一个状态,甚至可以进行异步函数调用


推荐阅读