typescript - 有没有办法为 Svelte 商店的更新定义泛型?
问题描述
我在这里查看关于 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在这篇文章中指出的那样,由于 Typescripts 结构类型,我需要更加明确,所以为了得到预期的结果,我必须像这样输入我的返回值。
cars.update(c): Array<Car> => [
...c,
{
x: 1,
y: 2,
BAD: "BAD"
},
]);
推荐阅读
- python - 在 __init__() 中声明的变量没有 self
- python - 如何在 Python 中逐列附加一组已知形状的数组?
- php - 从字符串构建mysql查询时向列名添加反引号
- java - TestNG - 跳过在注释中使用组的测试
- python - 如何将 CSV 数据集随机拆分为 70-30?
- javascript - JavaScript 未从 HTML 更新值
- c++ - 如何使用 c++ (curl) 发送电子邮件
- java - 如何在 Java 中使用对象属性填充 JTable?
- pwa - PWA - 保护用户的部分代码
- sql - 访问 VBA '连接操作中的语法错误'