π Recommended React Folder Structure
A clean and organized folder structure makes your React projects easier to manage, scale, and collaborate on. Hereβs a recommended layout for most mid-sized apps.
π¦ Typical Folder Layout
my-app/
βββ public/
β βββ index.html
βββ src/
β βββ assets/ # Images, icons, fonts, etc.
β βββ components/ # Reusable UI components
β βββ pages/ # Route-level pages
β βββ layouts/ # Shared page wrappers
β βββ hooks/ # Custom hooks
β βββ context/ # React Context providers
β βββ services/ # API functions or utilities
β βββ styles/ # Global or modular styles
β βββ App.jsx
β βββ main.jsx # (or index.js)
βββ .env
βββ package.json
βββ README.md
π§© Folder Breakdown
- assets/ β Images, icons, logos
- components/ β Reusable buttons, cards, modals, etc.
- pages/ β Route-level views like Home, About, BlogDetail
- layouts/ β Wrappers like Navbar/Footer or AuthLayout
- hooks/ β Custom hooks like
useDarkMode()
- context/ β React Contexts like Auth, Theme, Cart
- services/ β API clients (Axios, fetch wrappers)
- styles/ β Tailwind config, global.css, or CSS Modules
β Best Practices
- Keep components small and focused
- Split files by feature not just type (feature-based structure)
- Use index.js inside folders for easier imports
- Name files and folders consistently (camelCase or kebab-case)
π¦ Optional Advanced Structure
src/
βββ features/
β βββ blog/
β βββ BlogList.jsx
β βββ BlogDetail.jsx
β βββ blogSlice.js
β βββ blogAPI.js