Typescript + React-从变量的类型中获取变量的类型

时间:2019-10-07 14:51:10

标签: reactjs typescript devexpress

Typescript的新手,不确定如何实现。

我正在使用React使用此库https://devexpress.github.io/devextreme-reactive/react/grid/docs/guides/getting-started/

构建一个组件-一个表

说我有一些服务可以获取一些数据:

const { data, error, loading, refetch } = songService.get(queryOptions);

我想在表组件本身中调用此服务,但是我不希望它局限于仅从songService获取数据。我想从道具传递的任何服务中获取它-所以我在想: <DXTable serviceFromData="songService" /><DXTable serviceFromData="coverService" />

但是我有2个问题/不确定性: -serviceFromData道具是哪种类型?我希望它是通用的。 -如何确保我的const queryOptions具有基于服务的特定界面?

任何帮助将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:1)

我将为每个服务创建一个接口,并让它们扩展一个公共接口。 在这里,您有两个选择:  1. serviceFromData可以采用通用接口的类型,因此有点通用  2. serviceFromData可以采用类似Service1 | Service2

的类型

您可以通过将所需的类型添加到服务类中的queryOptions之类的get()方法中来确保get(queryOptions:SomeInterface)是特定的接口。