Wrong initial value
When I check persistent atom value right after creation, the value equals initial value instead of storage value. I have a couple of bugs because of that.
```ts
export function persistentAtom(name, initial = undefined, opts = {}) {
let encode = opts.encode || identity
let decode = opts.decode || identity
let store = atom(name in storageEngine ? decode(storageEngine[name]) : initial) // <-- CHANGE THIS
let set = store.set
store.set = newValue => {
let converted = encode(newValue)
if (typeof converted === 'undefined') {
delete storageEngine[name]
} else {
storageEngine[name] = converted
}
set(newValue)
}
```
关闭于 2026-01-29 3 条评论