【问题标题】:Is there a way to have strong type check in React-Admin resources?有没有办法在 React-Admin 资源中进行强类型检查?
【发布时间】:2021-04-10 15:41:47
【问题描述】:

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

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

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

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

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

提前谢谢你!

【问题讨论】:

    标签: typescript react-admin


    【解决方案1】:

    如果你使用专门的 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 显示的类型,它们显示了通用挂钩:

    【讨论】:

      猜你喜欢
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 2017-08-14
      • 2014-02-08
      • 2021-09-26
      • 2010-09-13
      • 2020-04-08
      • 1970-01-01
      相关资源
      最近更新 更多