ClientOnly

ClientOnlyは、クライアントサイドでのみ子要素をレンダリングするコンポーネントです。

使い方

import { ClientOnly } from "@yamada-ui/react"
<ClientOnly />

フォールバック

子要素の準備中に読み込み状態をレンダリングする場合は、fallbackプロパティを使用します。

レンダリングプロップ

コンポーネントがwindow, document, localStorageなどのブラウザ専用APIにアクセスする場合は、レンダリングプロパティパターンを使用します。 このパターンにより、ブラウザAPIにアクセスするコンポーネントがクライアント側でのみ評価され、ハイドレーションの不一致やサーバー側のエラーが防止されます。
また、サーバー側では必要のない重いコンポーネントのレンダリングにも使用できます。

/* サーバー側でエラーを引き起こす可能性があります */
<ClientOnly fallback={<Skeleton />}>
  <ComponentThatUsesWindow />
</ClientOnly>

/* 安全です */
<ClientOnly fallback={<Skeleton />}>
  {() => <ComponentThatUsesWindow />}
</ClientOnly>

Props