从actionCreator调度操作



我研究了react redux示例(购物车(,并看到了操作的实现addToCart

问题是,dispatchgetState参数来自哪里?

export const addToCart = productId => (dispatch, getState) => {
if (getState().products.byId[productId].inventory > 0) {
dispatch(addToCartUnsafe(productId))
}
}

我试着在我的例子中复制它,但我无法让它发挥作用。

PS:我可以在我的示例中使用mapDispatchToProps

它们来自thunk中间件。它允许redux操作创建者不仅返回简单对象(带有类型属性(,还可以返回异步函数。中间件调用这些异步函数,并将dispatch和getState作为参数传递。这反过来又允许您调度多个其他操作,查看当前状态,并通常对异步流进行精确控制。Thunk只是众多支持redux操作中异步内容的中间件之一。

相关内容

  • 没有找到相关文章

最新更新