我开始使用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,
}
});