我有一个带有自定义set
方法的简单可写存储:
import { writable } from 'svelte/store';
function createState() {
const {subscribe, set, update} = writable({a: 0, b: 0});
return {
subscribe,
set: (newState) => {
console.log(newState);
// set(newState); // I would expect `state` to be unchanged without this
}
};
};
export const state = createState();
当我调用state.set(<some new value>)
时,新值被记录到控制台并且 的值state
实际上并没有改变。这是我所期望的。
但是,如果我分配$state = <some new value>
,state
更改的值,然后 set
将其记录到控制台。为什么(以及如何)会发生这种情况,有没有办法在不重新实现的情况下解决它writable
?
谢谢!