【问题标题】:Updating an object in a store in Svelte, is it by value or by reference?在 Svelte 的存储中更新对象,是按值还是按引用?
【发布时间】:2022-01-06 21:27:14
【问题描述】:

查看this Svelte REPL。请注意我如何通过键访问全局状态(它是一个对象)并在 App.svelte 中迭代其值。因此,我还在 global.js 中创建了这些值的派生列表。

  • 一般来说,这是“Sveltonic”方式(关于性能、语法等)吗?
  • 我不确定.update() 内部发生了什么(在SetThings.svelte 中)。整个对象或部分是否会被复制到旧对象中?还是会将引用旧对象的变量重新分配给新对象?

【问题讨论】:

    标签: svelte-store


    【解决方案1】:

    关于问题的第一部分:使用最外层的对象是不明智的。相反,我现在使用一个列表并让子对象将它们的索引作为键。如 Svelte 文档中所示,for example here

    关于问题的第二部分,似乎对象(或部分对象)没有被复制。见update()set()safe_not_equal()(在这种情况下返回true)→value = value

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-15
      • 1970-01-01
      • 2020-04-17
      • 1970-01-01
      • 2015-06-12
      相关资源
      最近更新 更多