gpt4 book ai didi

javascript - 无法在 typescript 上分配 reducer?

转载 作者:搜寻专家 更新时间:2023-10-30 21:45:52 25 4
gpt4 key购买 nike

我在这里关注关于 redux + typescript 的微软教程:https://github.com/Microsoft/TypeScript-React-Starter但不知何故,在最后一部分我被困住了:

const store = createStore<StoreState, any, any, any>(
enthusiasm,
{
enthusiasmLevel: 1,
languageName: 'TypeScript'
},
composeEnhancers(applyMiddleware(thunk))
);

这是我在下面的屏幕截图中遇到的错误:

Argument of type '(state: StoreState, action: EnthusiasmAction) => StoreState' is not assignable to parameter of type 'Reducer<StoreState, any>'.
Types of parameters 'state' and 'state' are incompatible.
Type 'StoreState | undefined' is not assignable to type 'StoreState'.
Type 'undefined' is not assignable to type 'StoreState'.ts(2345)

enter image description here

我相信我已经关注了一切,在这里,我也想添加 thunk,但我在论证热情上遇到了错误,我不知道为什么,帮忙?

最佳答案

关键部分在这里:

Type 'StoreState | undefined' is not assignable to type 'StoreState'.      Type 'undefined' is not assignable to type 'StoreState'.ts(2345)

听起来您需要启用严格的空值检查 (--strictNullChecks)。没有它们,基本上代码中的每个类型都是隐式的 YourType | undefined,但是您提供此回调的对象似乎需要一个完全接受/提供 StoreState 的回调,而不是 StoreState |未定义。更多关于可空类型和严格空值检查的信息 here .

(或者我可能有错误的一端,而你确实启用了严格的空值检查,但你正在使用的期望它们不是。但是我想我的方法是正确的。)

关于javascript - 无法在 typescript 上分配 reducer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55181466/

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