Svelte Store 中的 set() 和 update() 方法有什么区别?

Abi*_*ikh 25 svelte svelte-store

我是 Svelte 商店的新手。在 svelte 教程中,他们使用了update()方法<Incrementer/>和<Decrementer/>组件来更新值。但在 中<Resetter/>,他们使用了set()重置值的方法。update()svelte store 中的方法和方法到底有什么区别set()?

H.B*_*.B. 43

来自文档:

set是一种采用一个参数(即要设置的值)的方法。如果存储值尚未等于参数的值,则存储值将设置为参数的值。

update是一种采用一个回调参数的方法。该回调将现有的存储值作为其参数,并返回要设置到存储中的新值。

因此,您可以使用update下一个值是否应该依赖于当前值。

另外:update只是为了方便而存在,不是“商店合同”的一部分:

  • 可读存储只需要该subscribe方法
  • 可写存储需要该set方法

组件代码喜欢在内部$store = value使用set。