Svelte 派生商店
Svelte derived store
哟!
我正在尝试更新我的派生商店,我执行以下操作
// store.js line: 20
const updateProductOrder = newOrder => {
update(builderStore => {
console.log(builderStore) //undefined
})
}
函数由拖放产品卡片触发,第 35 行 Products.svelte
它在使用相同逻辑在主组件中执行的所有其他函数中工作得很好,由于某种原因它在嵌套组件中不起作用,例如示例:
https://svelte.dev/repl/5287e7b0ba994772ae736fcc41952b08?version=3
你能帮忙解释为什么它不起作用吗?
存储更新函数必须return新值。你想要的大概是
const updateProductOrder = newOrder => {
update(builderStore => {
console.log(builderStore)
return newOrder
})
}
svelte docs for writable store 大致显示了更新合约。
store.update((oldValue) => { return newValue })
在您的示例中,您缺少 return 语句,因此您最终 returning undefined
并因此将商店的新值设置为 undefined
。
这是 Incrementer.svelte
选项卡中的一个小示例 updated repl with just this change added. You can also look in the tutorial。
哟!
我正在尝试更新我的派生商店,我执行以下操作
// store.js line: 20
const updateProductOrder = newOrder => {
update(builderStore => {
console.log(builderStore) //undefined
})
}
函数由拖放产品卡片触发,第 35 行 Products.svelte 它在使用相同逻辑在主组件中执行的所有其他函数中工作得很好,由于某种原因它在嵌套组件中不起作用,例如示例: https://svelte.dev/repl/5287e7b0ba994772ae736fcc41952b08?version=3
你能帮忙解释为什么它不起作用吗?
存储更新函数必须return新值。你想要的大概是
const updateProductOrder = newOrder => {
update(builderStore => {
console.log(builderStore)
return newOrder
})
}
svelte docs for writable store 大致显示了更新合约。
store.update((oldValue) => { return newValue })
在您的示例中,您缺少 return 语句,因此您最终 returning undefined
并因此将商店的新值设置为 undefined
。
这是 Incrementer.svelte
选项卡中的一个小示例 updated repl with just this change added. You can also look in the tutorial。