0

哟!

我正在尝试更新我的派生商店,我执行以下操作

// store.js line: 20
    const updateProductOrder = newOrder => {
        update(builderStore => {
            console.log(builderStore) //undefined
        })
    }

功能由拖放产品卡触发,第 35 行 Products.svelte 它在使用相同逻辑在主组件中执行的所有其他功能中效果很好,由于某种原因,它在嵌套组件中不起作用,例如: https: //svelte.dev/repl/5287e7b0ba994772ae736fcc41952b08?version=3

你能帮忙为什么它不起作用吗?

4

1 回答 1

1

存储更新函数必须返回新值。你想要的大概是


const updateProductOrder = newOrder => {
    update(builderStore => {
        console.log(builderStore)
        return newOrder
    })
}

可写存储的svelte 文档大致显示了更新合同。

    store.update((oldValue) => { return newValue })

在您的示例中,您缺少 return 语句,因此您最终会返回undefined并因此将商店的新值设置为undefined.

这是一个更新的 repl,仅添加了此更改。您还可以在教程中查看选项卡中的一个小示例Incrementer.svelte

于 2020-11-17T20:00:07.173 回答