gpt4 book ai didi

redux - 如何让combineReducers与flowtype一起工作?

转载 作者:行者123 更新时间:2023-12-02 20:05:30 26 4
gpt4 key购买 nike

我想使用redux中的combineReducers函数。但是我收到以下错误消息:

Missing type annotation for `A`. `A` is a type parameter declared in function type [1] and was implicitly instantiated
at call of `combineReducers` [2].

src/reducer/index.js:12:16
12| export default combineReducers({ message })
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [2]

References:
flow-typed/npm/redux_v4.x.x.js:56:42
56| declare export function combineReducers<O: Object, A>(reducers: O): CombinedReducer<$ObjMap<O, <S>(r: Reducer<S, any>) => S>, A>;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [1]

我的 reducer 只是一个接受状态和操作并返回的函数一个新的状态。

然后我只需在reducer上调用combineReducers,如错误消息所示。

有人知道解决这个问题的简单方法吗?

最佳答案

我找到了解决方案。

您必须以某种方式输入 reducer 的结果。您实际上可以做两件事,第一件事是:

export default combineReducers<*, *>({ message })

对我来说,这感觉就像是黑客攻击。更好的解决方案是:

type State = {
message: MessageState
}
const reducers: Reducer<State, Action> = combineReducers({ message })
export default reducers

但这需要您跟踪您的状态和操作的类型,无论如何你都应该这样做。

关于redux - 如何让combineReducers与flowtype一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54847595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com