我是Svelte的新手,我正在尝试向sessionStorage中设置一些信息,但是它抛出“未定义sessionStorage”。 我意识到我收到了此错误,因为它在服务器端运行。
我在 /src/components/nav.svelte 中创建了一个使用 /src/domain/auth/service.js 的组件,该错误发生在最后一个
在网络上搜索时,我发现在这种情况下,我必须使用 onMount 函数中的 sessionStorage 。那是正确的方法吗?
如何避免我的代码有些混乱?
答案 0 :(得分:0)
您可以尝试检查您是否确实在浏览器环境中,例如像
if (window && window.sessionStorage) {
// do your stuff with sessionStorage
}
或
if (typeof window !== 'undefined') {
// do your stuff with sessionStorage
}
答案 1 :(得分:0)
嘿,您需要使用onMount
import { onMount } from 'svelte';
onMount(() => {
sessionStorage.setItem('myWork', 'Developer');
});