【问题标题】:How to use SSR with Stores on SvelteKit如何在 SvelteKit 上将 SSR 与商店一起使用
【发布时间】:2022-12-25 06:30:44
【问题描述】:

一般来说,我是 sveltekit 和 svelte 的新手,我正在尝试将数据从 API 加载到商店,这就是我的做法

    export const load = async ({ fetch }) => {
        const data = get(dataStore);

        if (browser && data) {
            return { status: 200 };
        }

        const res = await fetch('/data.json', { credentials: 'include', mode: 'cors' });
        const data = await res.json();

        if (browser) {
            dataStore.set(data);
        }

        return { status: res.status };
    };

我的问题是将 SSR 上的数据加载到 FE 存储的最佳方法是什么?

【问题讨论】:

  • 使用商店是必需的吗?我发现最好的方法是将 fetch 中的数据作为 load 函数中的 props 返回。
  • @BobFanger 谢谢!你只是让我感到困惑,并指出了显而易见的事情。

标签: server-side-rendering svelte svelte-3 sveltekit svelte-store


【解决方案1】:

一种可能的方法是将服务器的load 函数用于*.layout.svelte。该布局将接收数据作为道具,然后您可以将这些数据保存在商店中以在应用程序中传播。

我建议在同一页面上有许多组件、共享和修改相同数据的情况较少的情况下执行此操作。否则,你根本不需要商店。

【讨论】:

    猜你喜欢
    • 2018-03-31
    • 2020-06-28
    • 1970-01-01
    • 2019-11-03
    • 2022-11-16
    • 2022-08-12
    • 2016-01-07
    • 1970-01-01
    • 2015-09-01
    相关资源
    最近更新 更多