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的麻烦。

相关推荐
杨进军7 小时前
React 实现 useMemo
前端·react.js·前端框架
杨进军7 小时前
React 实现多个节点 diff
前端·react.js·前端框架
杨进军7 小时前
React 实现 useState
前端·react.js·前端框架
goldenocean11 小时前
React之旅-05 List Key
前端·javascript·react.js
杨进军14 小时前
React 实现节点删除
前端·react.js·前端框架
爱编程的喵14 小时前
React useContext 深度解析:告别组件间通信的噩梦
前端·react.js
赫本的猫15 小时前
告别生命周期!用Hooks实现更优雅的React开发
前端·react.js·面试
赫本的猫15 小时前
React中的路由艺术:用react-router-dom实现无缝页面切换
前端·react.js·面试
光影少年15 小时前
React 组件中怎么做事件代理?它的原理是什么?
前端·react.js·掘金·金石计划