我正在尝试在React中创建一个钩子,该钩子可观察到rxjs的返回值,但对rxjs库没有硬性依赖。
因此,我创建了一个通用接口,该接口描述了将与之交互的可观察对象的API的一部分。
export interface GenericSubscribable<T> {
subscribe: any
}
export const useObserverable = <T>(
s: GenericSubscribable<T>
): T => {
// the points don't matter
return {} as any
};
但是食用时
import { interval } from 'rxjs'
const counter = interval(1000) // Observable<number>
const shouldBeNumber = useObserverable(counter)
shouldBeNumber
以<unknown>
而不是<number>
的形式出现。
为什么会这样?
答案 0 :(得分:0)
感谢@seeper的见解。我看错了价值 以下示例有效
export interface GenericSubscribable<T> {
subscribe: (cb: ((value: T) => any)) => any
}
export const useObserverable = <T>(
s: GenericSubscribable<T>
): T => {
return {} as any
};