import { queryOptions, createQuery } from "@tanstack/solid-query"; import { createFileRoute } from "@tanstack/solid-router"; import { For, Match, Switch } from "solid-js"; const todoQueryOptions = queryOptions({ queryKey: ["todo"], queryFn: () => { console.log("Fetching todos..."); return fetch("https://jsonplaceholder.typicode.com/todos").then((res) => res.json(), ); }, }); export const Route = createFileRoute("/todo")({ component: RouteComponent, loader: ({ context }) => context.queryClient.ensureQueryData(todoQueryOptions), }); function RouteComponent() { const query = createQuery(() => todoQueryOptions); return (
Loading...
}>
Error: {query.error?.message}
Loading...
{(item) => } ); } interface TodoItemProps { item: { userId: number; id: number; title: string; completed: boolean; }; } function TodoItem({ item }: TodoItemProps) { return (
{item.title}
{item.completed ? "Completed" : "Pending"}
); }