微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法在 React-Admin 资源中进行强类型检查?

如何解决有没有办法在 React-Admin 资源中进行强类型检查?

我正在尝试对项目中 ReactAdmin 处理的所有数据进行强类型化。

ReactAdmin 似乎将其所有数据作为 Record 的实例来处理:

export interface Record {
    id: Identifier;
    [key: string]: any;
}

基本上告诉 Typescript 停止对记录的任何对象进行类型检查。问题是 react-admin 中的所有对象都是记录。

有没有办法为每个资源声明一个类型?我错过了什么吗?

先谢谢你!

解决方法

如果您使用专门的 react-admin 挂钩编写查询,则可以传递类型:

const { data,error,loaded } = useGetOne<Product>('products',123);
          |
          -- TypeScript sees data as a value of type Product

唯一的要求是您传递的类型(本例中为 Product)扩展了 react-admin 的 Record 类型,它只会强制您的记录具有 id 字段。>

在这方面缺少 react-admin 文档,但请注意您的 IDE 显示的类型,它们显示通用钩子:

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。