import { useSuspenseQuery } from '@tanstack/react-query' import { createFileRoute } from '@tanstack/react-router' import { createServerFn } from '@tanstack/react-start' import { db } from '@/db' const getTodos = createServerFn({ method: 'GET' }).handler(async () => { const todos = await db.query.todoTable.findMany() return todos }) export const Route = createFileRoute('/todo')({ component: Todo, }) function Todo() { const { data: todos } = useSuspenseQuery({ queryKey: ['todos'], queryFn: () => getTodos(), }) const completedCount = todos.filter((todo) => todo.completed).length const totalCount = todos.length return (
已完成 {completedCount} / {totalCount} 项任务
暂无待办事项
添加你的第一个任务开始吧!
{totalCount - completedCount}
待完成
{completedCount}
已完成