solidjs/solid-start

Use `clientOnly` without isolating component in its own file

Open

#1.929 geöffnet am 7. Aug. 2024

Auf GitHub ansehen
 (4 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)HTML (332 Forks)batch import
help wanted

Repository-Metriken

Stars
 (4.187 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 22h 5m) (3 gemergte PRs in 30 T)

Beschreibung

What is this request related to?

Request

📋 Suggested

https://docs.solidjs.com/solid-start/reference/client/client-only

📋 General description or bullet points

Provide a way of using clientOnly without creating a separate file. Code wise, this could be more ergonomic.

Could also create a helper function to directly translate component function to client only component.

import { clientOnly } from "@solidjs/start"

function ClientOnlyComponent() {
  const location = window.document.location
  return <div>{location.href}</div>
}

type ResolveClientComponent = (value: {
  default: Component
}) => void

export default clientOnly(
  () =>
    new Promise((resolve: ResolveClientComponent) => {
      resolve({ default: ClientOnlyComponent })
    }),
)

🖥️ Reproduction of code samples in StackBlitz

StackBlitz doesn't support solid-start

Contributor Guide