SvelteKit 商店与客户端和服务器端不匹配

Bas*_*sil 3 javascript store server-side-rendering svelte sveltekit

在 SvelteKit 中,商店似乎在客户端和服务器端之间不同步。换句话说,如果在客户端修改了一个存储,那么当在服务器端检索它时,它就不会被修改,反之亦然。

您可以在下面的最小可重现示例中看到此行为:

https://stackblitz.com/edit/sveltejs-kit-template-default-fpp2y8?file=src/routes/+page.svelte

我的问题是:在客户端修改服务器端存储的惯用或正常方法是什么?

为了避免XY Problem,我具体尝试做的事情如下:

EPOS 系统的用户有一个“currentSale”商店,该商店在访问/epos服务器端的路由时加载,专门用于使Prisma可以获得有关产品、客户附加等的更多信息。

然而,例如,当用户尝试增加 EPOS 销售中的产品数量时,就会出现问题。尝试更新商店不起作用,因为它不会保存服务器端。使用整个 API 路径或表单操作似乎太过分了,而且不是优化/最佳的。

H.B*_*.B. 5

您一开始就不应该尝试使用服务器上的商店;他们不是为了这个而设计的。

使用整个 API 路径或表单操作似乎太过分了,而且不是优化/最佳的。

当您想要修改服务器上的数据时,这正是您应该使用的。我不喜欢 API 路由,因为它们非常有限且冗长,但表单操作非常通用,因为同一页面可以存在多个命名操作。