You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Svelte中Reactive Store变量出现undefined问题求助

Svelte Store 获取变量为undefined的问题解决

核心问题有两个:

  1. Store文件的导出方式错误
    你在./store/config.js里用了export let导出store,但Svelte store实例应该用export const导出——writable返回的是一个固定的store对象,不需要用let允许修改引用,错误的导出方式会导致导入时无法正确获取store实例。

  2. 组件内错误覆盖了导入的store变量
    App.svelte里的$: config = $config || {};这行代码,会把原本导入的config(store对象)直接覆盖成$config的当前值。组件初始化阶段$config的订阅还未完全完成,这时候$config可能是undefined,最终导致config被赋值为undefined,所以console.log(config)输出undefined。


修正后的代码:

1. ./store/config.js

import { writable } from 'svelte/store';
// 改用export const导出store实例
export const config = writable({ languageCode: "NL" });

2. App.svelte

<script>
import { config } from "./store/config.js";

// 直接通过$config获取响应式的store值,无需覆盖原变量
$: console.log($config); // 会输出 { languageCode: "NL" }

// 如果需要将store值存入变量,使用新变量名避免覆盖
$: currentConfig = $config || {};

// 此时console.log(config)会输出正确的store对象
console.log(config);
</script>

内容的提问来源于stack exchange,提问作者Vasili

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 11:00:55