【发布时间】:2020-12-28 00:22:22
【问题描述】:
我在看这部分 here 关于 svelte 中的打字稿泛型,它提到了
Svelte 商店支持开箱即用的泛型
在我的项目中,我向这样的商店项目添加了一个泛型
interface Car {
x: number;
y: number;
}
export const cars = writable<Array<Car>>([])
但是,当我像这样使用update 时
cars.update(c) => [
...c,
{
x: 1,
y: 2,
BAD: "BAD"
},
]);
Typescript 不会抱怨。 set 也会出现这种情况,该方法只有一个 any 类型。
【问题讨论】:
-
添加到
cars存储数组的元素在技术上是Car的子类型,因为Typescript uses structural typing instead of nominal typing to determine type equality。
标签: typescript svelte typescript-generics svelte-store