Javascript 如何将keyMirror与flow一起使用?
在我的flux/react设置中,我将ActionType定义为keyMirrorJavascript 如何将keyMirror与flow一起使用?,javascript,reactjs-flux,flowtype,Javascript,Reactjs Flux,Flowtype,在我的flux/react设置中,我将ActionType定义为keyMirror export const ActionType = keyMirror({ START_TIMER: null, STOP_TIMER: null, PERFORM_STARTUP_CHECKS: null, SELECT_TASK_SERVICE:null, ADD_TASK: null, CLEAR_ALL_TASKS: null, COMPLETE_TASK: null, U
export const ActionType = keyMirror({
START_TIMER: null,
STOP_TIMER: null,
PERFORM_STARTUP_CHECKS: null,
SELECT_TASK_SERVICE:null,
ADD_TASK: null,
CLEAR_ALL_TASKS: null,
COMPLETE_TASK: null,
UNDO_COMPLETE_TASK: null,
EDIT_TASK_TEXT: null,
});
然后,我将不同类型的操作定义如下:
export type TaskAction = {
type: ActionType.ADD_TASK,
text: string
} | {
type: ActionType.COMPLETE_TASK,
taskId: string
}
export type TimerAction = {
type: ActionType.START_TIMER
} | {
type: ActionType.STOP_TIMER
}
这些不同类型的操作对应于不同的存储。例如
In TasksStore
.
.
reduce(state: TasksList, action: TaskAction)
In TimerStore
.
.
reduce(state: State, action: TimerAction)
但是,当我运行flow时,该操作无法识别
56: indexOfTask = state.findIndex(function(task){ return task.get('_id') === action.taskId});
^^^^^^ property `taskId`. Property not found in
56: indexOfTask = state.findIndex(function(task){ return task.get('_id') === action.taskId});
^^^^^^ object type
看见