【发布时间】:2020-05-19 07:58:14
【问题描述】:
我在 Flow 中收到以下错误:
无法使用绑定到操作的对象字面量调用调度,因为:
• 任一字符串文字 REMOVE_FROM_CART [1] 与属性类型中的字符串文字 ADD_TO_CART [2] 不兼容。
• 或字符串文字 ADD_TO_CART [1] 与属性类型中的字符串文字 REMOVE_FROM_CART [3] 不兼容。
• 或字符串文字 ADD_TO_CART [1] 与属性类型中的字符串文字 INCREMENT [4] 不兼容。
• 或字符串文字 ADD_TO_CART [1] 与属性类型中的字符串文字 DECREMENT [5] 不兼容。
• 或字符串文字 ADD_TO_CART [1] 与属性类型中的字符串文字 DISPLAY_PRODUCT_DETAIL [6] 不兼容。
我在下面标记为 ** dispatch ** 的调度函数中遇到错误
export const updateCart = (id: number, type: ProductActionsType) => {
return (dispatch: Dispatch<ProductActionsReturnTypes>) => {
**dispatch({ type, payload: id });**
dispatch({ type: UPDATE_TOTALS });
};
};
文件:constants.js
export const FETCH_ITEMS = "FETCH_ITEMS";
export const ADD_TO_CART: "ADD_TO_CART" = "ADD_TO_CART";
export const REMOVE_FROM_CART: "REMOVE_FROM_CART" = "REMOVE_FROM_CART";
export const DISPLAY_PRODUCT_DETAIL: "DISPLAY_PRODUCT_DETAIL" =
"DISPLAY_PRODUCT_DETAIL";
export const INCREMENT: "INCREMENT" = "INCREMENT";
export const DECREMENT: "DECREMENT" = "DECREMENT";
export const UPDATE_TOTALS: "UPDATE_TOTALS" = "UPDATE_TOTALS";
export const CLEAR_CART: "CLEAR_CART" = "CLEAR_CART";
export const OPEN_MODAL: "OPEN_MODAL" = "OPEN_MODAL";
export const CLOSE_MODAL: "CLOSE_MODAL" = "CLOSE_MODAL";
文件:src/types/index.js
export type ClearCartActionType = {|
type: typeof CLEAR_CART
|};
type AddToCartActionType = {|
type: typeof ADD_TO_CART,
payload: number
|};
type RemoveFromCartActionType = {|
type: typeof REMOVE_FROM_CART,
payload: number
|};
export type DisplayProductDetailAction = {|
type: typeof DISPLAY_PRODUCT_DETAIL,
payload: number
|};
type IncrementActionType = {|
type: typeof INCREMENT,
payload: number
|};
type DecrementActionType = {|
type: typeof DECREMENT,
payload: number
|};
export type UpdateTotalsActionType = {|
type: typeof UPDATE_TOTALS
|};
export type ModalPayloadType = {|
id: number,
products: Array<ProductType>
|};
export type ProductActionsType =
| typeof ADD_TO_CART
| typeof REMOVE_FROM_CART
| typeof INCREMENT
| typeof DECREMENT
| typeof UPDATE_TOTALS
| typeof DISPLAY_PRODUCT_DETAIL
| typeof CLEAR_CART;
export type ProductActionsReturnTypes =
| AddToCartActionType
| RemoveFromCartActionType
| IncrementActionType
| DecrementActionType
| UpdateTotalsActionType
| DisplayProductDetailAction
| ClearCartActionType;
我被这个困住了。任何人都可以提供解决方案吗?
重现问题的流程链接 link
【问题讨论】:
-
如果您在try flow 页面上创建最小重现案例,其他人将更容易诊断问题。
-
我无法在评论中分享这个案例。它说文本太长。因此,我在最后更新了问题本身的案例。请检查。 @josephjnk
标签: reactjs redux react-redux flowtype redux-thunk