有没有办法在Recoil中制作通用Atom



我用Recoil制作了一个原子,但我找不到在Typescript中表示通用原子的方法。

const atom = atom<T[]>({ // <- I get error
key: 'atom',
default: []
})
const value = useRecoilValue<number[]>(atom) // <- specify actual value here (not working now)

我怎样才能让它工作?

根据atom函数的定义,atom已经有了一个泛型类型参数,这应该可以工作:

const some = atom<string[]>({
key: 'some-key',
default: [] // now has `string[]` type
})

useRecoilValue的定义中,我们可以看到,该通用推断是自动的,您不需要指定它:

const value = useRecoilValue(some) // inferred type of `value` is `string[]`

您不应该在useRecoilValue指定类型,因为atom已经有了这个信息

相关内容

  • 没有找到相关文章

最新更新