【发布时间】:2019-03-04 18:03:20
【问题描述】:
所以我在这里使用 react-redux combineReducers。
export interface OurState {widgets: WidgetState; currentView: string;}
export const ourReducer = combineReducers<OurState, ValidAction>({ widgets, currentView });
export type ViewActionType = SwitchViewAction;
export type ValidAction = WidgetActionType | ViewActionType;
错误消息是 T2322,在 ourReducer 中,说 Type 'ValidAction' is not assignable to type 'SwitchViewAction'
我认为它显然可以分配给这种类型。我怎么错了?
这些动作是调度的动作。
【问题讨论】:
-
您可以将
SwitchViewAction分配给ValidAction,而不是相反。 -
如果我写 AnyAction 来代替 ValidAction,还是不行。我当然可以将 AnyAction 分配给 SwitchViewAction?
-
不,类型的工作方式很热门。您可以将子类型分配给超类型。没有强制转换,您不能将超类型分配给子类型。
-
嗯,我明白了。为什么“任何”都不起作用,你知道吗?
标签: reactjs typescript redux react-redux