我试图更深入地了解React并停留在此错误上。 它不允许我调度任何动作。但是,我根本没有使用异步。 Here you can find codesandbox of the full app.
我已将thunkMiddleware
添加到商店,因此该应用程序可以使用。
但是我不明白发生了什么事?
以下是动作创建者,我没有在其中分发。 我搜索了不同的类似答案,所有这些都与错误使用 异步动作。我的是同步的:
import CART_ACTIONS from "../action_types/cartActionTypes";
function addToCart(item) {
return dispatch => dispatch({ type: CART_ACTIONS.ADD_ITEM, item: item });
}
function removeFromCart(item) {
return dispatch => {
dispatch({ type: CART_ACTIONS.REMOVE_ITEM, item });
};
}
function clearCart(item) {
return dispatch => {
dispatch({ type: CART_ACTIONS.CLEAR_CART });
};
}
export const cartActions = { addToCart, removeFromCart, clearCart };
答案 0 :(得分:1)
如果您不想使用thunkMiddleware,则需要像这样更新cartAction:
import CART_ACTIONS from "../action_types/cartActionTypes";
function addToCart(item) {
return({ type: CART_ACTIONS.ADD_ITEM, item: item });
}
function removeFromCart(item) {
return({ type: CART_ACTIONS.REMOVE_ITEM, item });
}
function clearCart(item) {
return({ type: CART_ACTIONS.CLEAR_CART });
}
export const cartActions = { addToCart, removeFromCart, clearCart };
简单来说,您只需要返回一个操作,该操作必须是具有type属性的对象和可选的有效负载。