reducer同步,dispatch异步

  • configureStore 是redux toolkit的核心,

自动设置redux devtools扩展,Thunk中间件,immer库

  • const store = configureStore({

reducer: {

bill: billReducer

}

});

configureStore 函数接收一个配置对象作为参数,其中 reducer 属性是一个对象,它的键是 state 的一部分,值是对应的 reducer 函数。在这个例子中,bill 是 state 的一个属性,它的值由 billReducer 函数来管理。

  • 基于promise,使用async/await 语法,在网络请求成功后,

使用dispatch触发同步reducer action(setBillList就是action方法),更新reducer state状态

// 编写异步

const getBillList = () => {

return async (dispatch) => {

// 编写异步请求

const res = await axios.get('http://localhost:8888/ka')

// 触发同步reducer,传递给action

dispatch(setBillList(res.data))

}

}

  • 组件特性,性能:useDispatch 钩子会返回一个稳定的 dispatch 函数引用,

可以在组件中使用它来分发 action。

const dispatch = useDispatch()

dispatch(getBillList())

上下问依赖:useDispatch自动从redux store中获取dispatch方法,

在组件树中传递,避免了手动传递dispatch的麻烦。

相关推荐
xixixin_5 小时前
【React】为什么移除事件要写在useEffect的return里面?
前端·javascript·react.js
嘗_5 小时前
react 源码2
前端·javascript·react.js
mapbar_front12 小时前
React中useContext的基本使用和原理解析
前端·react.js
嘉琪00116 小时前
vue3+ts面试题(一)JSX,SFC
前端·javascript·react.js
AAA不会前端开发17 小时前
前端React实战项目 新闻管理发布系统
react.js
刺客_Andy18 小时前
React 第四十七节 Router 中useLinkClickHandler使用详解及开发注意事项案例
前端·javascript·react.js
秋枫9619 小时前
使用React Bootstrap搭建网页界面
前端·react.js·bootstrap
wendao1 天前
我开发了个极简的LLM提供商编辑器
前端·react.js·llm
江米小枣tonylua1 天前
React 19.2:用 useEffectEvent 告别闭包陷阱
react.js
浪裡遊2 天前
HTML面试题
前端·javascript·react.js·前端框架·html·ecmascript