我有一个带有自定义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();
Run Code Online (Sandbox Code Playgroud)
当我调用 时state.set(<some new value>),新值会记录到控制台,而 的值state实际上并没有改变。这是我所期望的。
但是,如果我分配$state = <some new value>,state更改的值,然后 set将其记录到控制台。为什么(以及如何)会发生这种情况,有没有办法在不重新实现的情况下解决它writable?
谢谢!