SvelteKit 5从API获取数据问题:打印data为Proxy对象
在SvelteKit 5中处理load函数返回的Proxy数据
在SvelteKit 5中,通过load函数返回并通过$props()获取的数据会被包装成Proxy对象,这是Svelte响应式系统的默认行为,用来跟踪数据变化,确保组件能响应数据更新。
以下是几种处理方式:
- 直接访问数据属性:Proxy是“透明”的,你可以直接使用
data的具体属性(比如data.menu,取决于你的接口返回结构),实际访问时会自动获取到原始值,无需额外处理。 - 打印完整原始数据:如果想在控制台看到完整的原始数据结构,可通过
JSON.stringify转换:console.log(JSON.stringify(data, null, 2)); - 克隆原始数据:通过结构化克隆得到脱离响应式的原始数据副本:
const rawData = structuredClone(data); console.log(rawData);
你也可以在组件中直接渲染数据验证:
<pre>{JSON.stringify(data, null, 2)}</pre>
内容的提问来源于stack exchange,提问作者Petras Surna
相关产品推荐
相关产品推荐

