【发布时间】:2021-03-05 08:23:04
【问题描述】:
我有两个动作:
export const addToCart = (id: string, qty: number) => async (
dispatch: Dispatch,
getState: () => RootState
) => {
const { data }: { data: IProduct } = await axios.get(`/api/products/${id}`);
dispatch({
type: CartActionTypes.CARD_ADD_ITEM,
payload: {
id: data.id,
name: data.name,
image: data.image,
price: data.price,
countInStock: data.countInStock,
qty,
},
});
localStorage.setItem("cartItems", JSON.stringify(getState().cart.cartItems));
};
export const removeItem = (item: CartProduct) => ({
type: CartActionTypes.CARD_REMOVE_ITEM,
payload: item,
});
我创建 Action union 类型并将其传递给 reducer,但它给了我“类型别名 'Action' 循环引用自身”,我不知道这是什么意思。
export type Action =
| ReturnType<typeof addToCart>
| ReturnType<typeof removeItem>;
【问题讨论】:
标签: reactjs typescript redux