const getTodos = query(async (type?: string) => {
// ...get data
return data;
}, 'todos')
export default function Home() {
const [searchParams, setSearchParams] = useSearchParams()
const todos = createAsync(() => getTodos())
return (
<div>
<div>
filter:
<button onClick={() => {
setSearchParams({...searchParams, type: undefined})
}}>all</button>
<button onClick={() => {
setSearchParams({...searchParams, type: 'completed'})
}}>completed</button>
</div>
<Suspense fallback={<div>loading...</div>}>
<For each={todos.latest}>
{item => <div>{item.title} - {item.completed ? 'completed' : 'pending'}</div>}
</For>
</Suspense>
</div>
)
}
const getTodos = query(async (type?: string) => {
// ...get data
return data;
}, 'todos')
export default function Home() {
const [searchParams, setSearchParams] = useSearchParams()
const todos = createAsync(() => getTodos())
return (
<div>
<div>
filter:
<button onClick={() => {
setSearchParams({...searchParams, type: undefined})
}}>all</button>
<button onClick={() => {
setSearchParams({...searchParams, type: 'completed'})
}}>completed</button>
</div>
<Suspense fallback={<div>loading...</div>}>
<For each={todos.latest}>
{item => <div>{item.title} - {item.completed ? 'completed' : 'pending'}</div>}
</For>
</Suspense>
</div>
)
}