繁体   English   中英

如何使用 Typescript 和 Redux 工具包来发送一个动作?

[英]How to use Typescript with Redux Toolkit to dispatch an action?

我正在尝试在 redux 工具包的切片中使用 typescript,但是当我尝试调用操作时,我看不到负载的类型。

例如,这是一个切片:在此处输入图像描述

这是商店:在此处输入图片描述

这是我的问题,当我尝试调用 setFilters 操作时,我可以将任何我想要的内容作为有效负载,例如 {foo: 'hello'}。 在此输入图片描述 在输入图片描述

我想用正确的接口锁定有效负载。 是否可以?

首先:请发布代码,而不是屏幕截图。 我不会在答案中给你代码,因为我必须从你的屏幕截图中输入它——这使得回答变得非常困难。

关于问题本身:您的类型注释在此处删除了类型信息。 不要写那么多注释。

例如:

const foo = 5;
const bar: number = 5

在第一种情况下,编译器知道 something 是一个number ,也是5 在第二种情况下,您告诉编译器它是number ,因此编译器丢弃了有关5的信息。

您对createSlice的注释做同样的事情 - TS 可以从使用中推断出大多数类型,但是您的手动注释删除了所有这些额外信息,因此 TypeScript 返回到没有关于有效载荷等详细信息的通用事物。

请参阅createApi 文档中的 TypeScript 代码示例,了解有关您实际需要编写哪些类型的信息。 本质上:您需要输入的只是您的initialState和 case reducer 操作 function arguments。没有别的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM