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