重新编译Atom和Typescript,定义类型并将Atom作为参数传递



我开始使用recoils和typescript。

此时,我使用默认属性来定义原子的每个属性类型:

const WipStateAtom = atom({
key: 'wipAtom',
default: {
data: null as IData | null,
ex: null as IEx | null,
}
});

但是,是否可以使用接口/或类型来定义原子内容,如:

export interface IWipAtom {
data: IGameData | null,
ex: IEx | null,
}

我想在函数中传递一个原子,但我不想将其键入ANY:

const [wip, setWip] = useRecoilState(WipStateAtom);
const myFunction = (thewip: any) => { ... }

我更喜欢严格定义它的类型:

const myFunction = (thewip: IWipAtom) => { ... }

有没有办法键入原子?

您可以在创建原子期间指定类型:

const WipStateAtom = atom<IWipAtom>({
key: 'wipAtom',
default: {
data: null as IData | null,
ex: null as IEx | null,
}
});

相关内容

  • 没有找到相关文章

最新更新