如何将 SSR 与 SvelteKit 上的商店结合使用

Mar*_*tar 7 server-side-rendering svelte svelte-store svelte-3 sveltekit

我对 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 };
    };
Run Code Online (Sandbox Code Playgroud)

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

Jan*_*sio 1

一种可能的方法是将服务器的load功能使用到*.layout.svelte. 该布局将接收数据作为 props,然后您可以将此数据保存在存储中以通过应用程序传播。

我建议在较少的场景中执行此操作,即同一页面上有许多组件,共享和修改相同的数据。否则,您根本不需要存储。