刚接触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" />
然而,我有两个问题/不确定:- serviceFromData属性会是什么类型?我希望它是通用的。-如何确保我的const queryOptions有一个基于服务的特定接口?
任何帮助都将不胜感激。
谢谢。
发布于 2019-10-07 22:58:54
我将为每个服务创建一个接口,并让它们扩展一个公共接口。从这里开始,您有两个选择: 1. serviceFromData可以采用通用接口的类型,因此它具有一定的泛型2. serviceFromData可以采用像Service1 | Service2这样的类型
您可以通过向服务类中的get()方法添加所需的类型(如get(queryOptions:SomeInterface))来确保queryOptions是特定的接口。
https://stackoverflow.com/questions/58272056
复制相似问题