Solid Start 中如何正确使用服务器端获取的数据?
我在 Solid Start 里用 routeData 获取数据,但在组件里直接解构就报错了,说不是函数。明明文档里是这么写的啊?
我试过把 routeData 放在 createRouteData 里,也试过在 onMount 里调用,但都不行。控制台提示 “routeData is not a function”,这到底该怎么用?
<script>
import { createRouteData } from 'solid-start';
import { For } from 'solid-js';
const routeData = createRouteData(async () => {
const res = await fetch('https://api.example.com/posts');
return res.json();
});
</script>
<div>
<For each={routeData()}>{(post) => <p>{post.title}</p>}</For>
</div>
志选 Dev
Lv1
兄弟,你搞错了,Solid Start 里 routeData 是导出用的,组件里得用 useRouteData 拿数据,别直接解构那个函数。我之前也踩过坑,改成下面这样就行。
点赞
2026-03-03 20:33