【问题标题】:Is there a way to define a generic for Svelte store's Update?有没有办法为 Svelte 商店的更新定义泛型?
【发布时间】: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 类型。

【问题讨论】:

标签: typescript svelte typescript-generics svelte-store


【解决方案1】:

啊,正如 @Tholle 指出的那样 article,由于 Typescripts 结构类型,我需要更加明确,所以为了得到预期的结果,我必须像这样输入我的返回值。

 cars.update(c): Array<Car> => [
        ...c,
        {      
          x: 1,
          y: 2,
          BAD: "BAD"
        },
      ]);

【讨论】:

    猜你喜欢
    • 2021-02-27
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    • 2011-04-15
    相关资源
    最近更新 更多