createResource menangani async data fetching dengan built-in loading/error states.
createResource
import { createResource, Suspense } from "solid-js"
const fetchUser = async (id) => {
const res = await fetch(`/api/users/${id}`)
return res.json()
}
function UserProfile() {
const [userId] = createSignal(1)
const [user] = createResource(userId, fetchUser)
return (
<Suspense fallback={<p>Loading...</p>}>
<Show when={user()}>
<p>{user().name}</p>
</Show>
</Suspense>
)
}
Properties
user()— data (atau undefined)user.loading— boolean loading stateuser.error— error jika adauser.latest— data terakhir (saat refetch)