0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Next.js / React プロジェクトでよく使うフォルダ構成と役割まとめ

Posted at

React / Next.js を学んでいると「hooks」「utils」「lib」「store」などのフォルダをよく見るけど、最初は何を入れるのか混乱しがちです。

この記事では、それぞれのフォルダの意味や役割を整理し、プロジェクトを分かりやすく構成するための基本をまとめました。


📌 使用ツール

  • Next.js
  • TypeScript
  • React

📌 ディレクトリ構造の役割まとめ

1.components

UI 部品をまとめる場所。
例:Button.tsx, Header.tsx, TodoCard.tsx

2.hooks

再利用可能な React Hooks を入れる。
UIは描画しないが、状態や副作用を共通化できる。
例:useAuthUser.ts, useToggle.ts

3.utils

純粋関数(計算やフォーマット処理など)。React に依存せず、入力→出力だけ。
例:formatDate.ts, calcDiscount.ts

4.lib

外部サービスやライブラリの設定・初期化処理。
例:supabaseClient.ts, axiosClient.ts

5.store

グローバル状態管理用(Zustand / Redux など)。
例:useUserStore.ts, useThemeStore.ts

6.types

型定義をまとめる。APIレスポンスやアプリ内データ型を整理。
例:user.ts, post.ts

7.consts(constants)

固定値をまとめる。マジックナンバーや文字列を直書きせずに管理。
例:CATEGORY_LIST.ts, ROUTES.ts, APP_NAME.ts

8.styles

グローバルCSSや共通スタイル。
例:globals.css

9.context

React Context を使った状態管理用。
例:AuthContext.tsx, ThemeContext.tsx

10.services

API 呼び出しやビジネスロジックをまとめる。
例:userService.ts, postService.ts

11.config

設定ファイルをまとめる。
例:env.ts, next.config.js


📌 まとめ

  • hooks → 再利用可能な React ロジック
  • utils → 純粋関数(React 無関係)
  • consts → 固定値(文字列やリスト)
  • lib → 外部サービス接続
  • store → グローバル状態管理
  • types → 型定義
  • components → UI 部品
  • services / config / context → 必要に応じて追加

👉 最初はcomponents, hooks, utils, lib, store, types, consts を押さえておけば十分な気がしています。

チーム開発やアプリ規模に合わせて拡張していけばOKです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?