Skip to content

Commit 5651aa5

Browse files
Fixed up solid start (#269)
1 parent 36a3b42 commit 5651aa5

6 files changed

Lines changed: 48 additions & 34 deletions

File tree

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { useParams } from '@solidjs/router'
2+
3+
export default function ClientSideRenderedDetail() {
4+
const params = useParams()
5+
6+
return <p id="detail-id">{params.id}</p>
7+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { A } from '@solidjs/router'
2+
import { For } from 'solid-js'
3+
4+
type Entry = { id: string; name: string }
5+
6+
const entries: Entry[] = Array.from({ length: 1000 }, () => ({
7+
id: crypto.randomUUID(),
8+
name: crypto.randomUUID(),
9+
}))
10+
11+
export default function ClientSideRenderedTable() {
12+
return (
13+
<table>
14+
<tbody>
15+
<For each={entries}>
16+
{(entry) => (
17+
<tr>
18+
<td>{entry.id}</td>
19+
<td>{entry.name}</td>
20+
<td>
21+
<A href={`/client-side-rendered/${entry.id}`}>View →</A>
22+
</td>
23+
</tr>
24+
)}
25+
</For>
26+
</tbody>
27+
</table>
28+
)
29+
}
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import { useParams } from '@solidjs/router'
1+
import { clientOnly } from '@solidjs/start'
22

3-
export const ssr = false
3+
const ClientSideRenderedDetail = clientOnly(
4+
() => import('../../components/ClientSideRenderedDetail'),
5+
)
46

57
export default function ClientSideRenderedDetailPage() {
6-
const params = useParams()
7-
8-
return <p id="detail-id">{params.id}</p>
8+
return <ClientSideRenderedDetail />
99
}
Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,9 @@
1-
import { For } from 'solid-js'
2-
import { A } from '@solidjs/router'
1+
import { clientOnly } from '@solidjs/start'
32

4-
export const ssr = false
5-
6-
type Entry = { id: string; name: string }
7-
8-
const entries: Entry[] = Array.from({ length: 1000 }, () => ({
9-
id: crypto.randomUUID(),
10-
name: crypto.randomUUID(),
11-
}))
3+
const ClientSideRenderedTable = clientOnly(
4+
() => import('../../components/ClientSideRenderedTable'),
5+
)
126

137
export default function ClientSideRenderedPage() {
14-
return (
15-
<table>
16-
<tbody>
17-
<For each={entries}>
18-
{(entry) => (
19-
<tr>
20-
<td>{entry.id}</td>
21-
<td>{entry.name}</td>
22-
<td>
23-
<A href={`/client-side-rendered/${entry.id}`}>View →</A>
24-
</td>
25-
</tr>
26-
)}
27-
</For>
28-
</tbody>
29-
</table>
30-
)
8+
return <ClientSideRenderedTable />
319
}

packages/app-solid-start/src/routes/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const getData = query(async () => {
88
}, 'test-data')
99

1010
export const route = {
11-
load: () => getData(),
11+
preload: () => getData(),
1212
}
1313

1414
export default function Home() {

packages/app-solid-start/src/routes/server-side-rendered/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const getData = query(async () => {
88
}, 'server-side-rendered-data')
99

1010
export const route = {
11-
load: () => getData(),
11+
preload: () => getData(),
1212
}
1313

1414
export default function ServerSideRenderedPage() {

0 commit comments

Comments
 (0)