You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redux Thunk Middleware:未传入dispatch时,action creator为何能访问它?

Redux中fetchUsers的dispatch传入逻辑
  • 这是Redux Thunk中间件的核心功能:当你调用store.dispatch(fetchUsers())时,Thunk会拦截这个请求。
  • 因为fetchUsers返回的是一个函数(而非普通action对象),Thunk会自动把dispatch(以及getState)作为参数传入这个返回的函数中。
  • 你定义的fetchUsers是一个高阶函数,它内部返回的匿名函数就能直接获取Thunk传入的dispatch,从而在异步请求完成后分发对应的action。

简单总结:Thunk中间件的作用就是处理返回函数的action creator——它会自动注入dispatch和getState并执行该函数;如果是普通action对象,则直接传递给reducer处理。你截图里的store已经配置了thunkMiddleware,这正是整个机制生效的前提,没有它的话直接dispatch函数会触发Redux的报错(Redux默认只接受纯action对象)。

内容的提问来源于stack exchange,提问作者brunshte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 04:10:28