将Flowtype与Redux一起使用,我的类型如下:
export type MapState = {
addresses: Address[],
selected: Array<number>
}
和行动创作者:
export const setParams = (params: any): Action => {
return { type: actionTypes.SET_PARAMS, payload: { params };
}
在reducer中,我将params合并到状态:
export default (state: MapState = initialState, action: SetParamsAction) => {
switch (action.type) {
case actionTypes.SET_PARAMS: {
return {
...state,
...action.payload.params
}
[...]
我正在寻找告诉Flowtype在动作创建者中接受params
的可能性,如果它是仅包含MapState
属性的对象,那么我可以摆脱any
中的setParams
。有什么想法吗?
答案 0 :(得分:1)
您可以像这样添加exact PossibleParams
Object type:
type PossibleParams = {|
addresses?: Address[],
selected?: number[],
|};
export const setParams = (params: PossibleParams): Action => ({
type: actionTypes.SET_PARAMS,
payload: {
params,
},
});
您可以在flow.org/try
上查看所有可能性