📚
'use client'が必要なフック
'use client'
が必要なフック:
React標準フック:
-
useState
- 状態管理 -
useEffect
- 副作用処理 -
useCallback
- メモ化されたコールバック -
useMemo
- メモ化された値 -
useRef
- DOM参照・値保持 -
useReducer
- 複雑な状態管理 -
useContext
- コンテキスト使用 -
useLayoutEffect
- レイアウト後の副作用 -
useImperativeHandle
- refのカスタマイズ -
useDebugValue
- デバッグ値設定
Next.jsフック:
-
useRouter
- ナビゲーション -
usePathname
- 現在のパス -
useSearchParams
- クエリパラメータ -
useParams
- 動的ルートパラメータ
'use client'
が不要なフック:
カスタムフック:
-
useAuth
- Supabase -
useData
- 自作のフック
結論:
'use client'
が必要なフックは、ブラウザ環境でのみ動作するもの(状態管理、DOM操作、ナビゲーションなど)です。
'use client'
が不要なフックは、サーバーサイドでも動作するもの(コンテキスト、データ取得など)です。
Discussion
失礼します。
useCallback
,useMemo
,useDebugValue
は Server Component 環境で呼び出されてもエラーにならないので、"use client"
不要なフックです。