【发布时间】:2022-02-05 08:04:12
【问题描述】:
我有一个 Svelte 应用程序,其中大部分数据逻辑都被提取到定义自定义商店的文件中。通常,我需要编写一个重复使用相同存储值的函数:
import { get } from 'svelte/store';
import { someStore } from './myStores';
function foo(): void {
const arr: string[] = get(someStore);
// ...lots of operations using arr
}
我目前的做法是,如果我只需要一次 someStore 的值,我将只使用 get(someStore) 内联,但如果我在该函数中至少需要两次,我会将它分配给一个局部变量像上面一样。这是因为我不确定一遍又一遍地调用get 是否会影响性能。
了解 Svelte 商店如何实施的人是否对这是否真的有必要有任何直觉?如果我将代码简化为在任何地方都使用get(...) 而不是创建局部常量,我是否会遇到任何性能问题(我并不真正关心改变返回值中间函数的反应行为)?如果 store 的 value 是一个很大的对象呢?
【问题讨论】:
-
你从哪里调用函数?为什么不将存储值作为参数传递?
标签: svelte sveltekit svelte-component svelte-store