const fetchCurrent = async (isSSR: boolean) => {
console.log("fetching...", isSSR);
if (isSSR) return;
await new Promise((resolve) => setTimeout(resolve, 4000));
const response = await fetch("/api/currently/reading");
return response.json() as Promise<Book>;
};
export default function CurrentRead() {
const [isSSR] = createSignal(typeof window === "undefined");
const [current] = createResource(isSSR, fetchCurrent);
createEffect(() => {
console.log(">> ssr", isSSR());
}, [isSSR]);
return (
<>
<span>fooo</span>
<Show when={current.loading}>
<p>Loading...</p>
</Show>
<Switch>
<Match when={current.error}>
<span>Error</span>
</Match>
<Match when={current()}>
<div>{JSON.stringify(current())}</div>
</Match>
</Switch>
</>
);
}
const fetchCurrent = async (isSSR: boolean) => {
console.log("fetching...", isSSR);
if (isSSR) return;
await new Promise((resolve) => setTimeout(resolve, 4000));
const response = await fetch("/api/currently/reading");
return response.json() as Promise<Book>;
};
export default function CurrentRead() {
const [isSSR] = createSignal(typeof window === "undefined");
const [current] = createResource(isSSR, fetchCurrent);
createEffect(() => {
console.log(">> ssr", isSSR());
}, [isSSR]);
return (
<>
<span>fooo</span>
<Show when={current.loading}>
<p>Loading...</p>
</Show>
<Switch>
<Match when={current.error}>
<span>Error</span>
</Match>
<Match when={current()}>
<div>{JSON.stringify(current())}</div>
</Match>
</Switch>
</>
);
}