我在这里看了关于svelte中的typescript泛型的这一节,它提到
Svelte商店支持开箱即用的仿制药
在我的项目中,我向类似的商店项目添加了一个泛型
interface Car {
x: number;
y: number;
}
export const cars = writable<Array<Car>>([])
然而,当我像这个一样使用update
时
cars.update(c) => [
...c,
{
x: 1,
y: 2,
BAD: "BAD"
},
]);
打字没有抱怨。对于set
也会发生这种情况,该方法只有一个any
类型。
啊,正如@Tholle在本文中指出的那样,由于Typescript的结构类型,我需要更加明确,所以为了获得预期的结果,我必须键入我的返回,如下所示。
cars.update(c): Array<Car> => [
...c,
{
x: 1,
y: 2,
BAD: "BAD"
},
]);