Bird
Raised Fist0
Reactframework~30 mins

Folder structure best practices in React - Mini Project: Build & Apply

Choose your learning style10 modes available
Folder structure best practices in React
📖 Scenario: You are building a simple React app that shows a list of books. To keep your project neat and easy to grow, you want to organize your files well.
🎯 Goal: Create a basic React folder structure with separate folders for components, pages, and data. Then add a simple component and a data file following this structure.
📋 What You'll Learn
Create a data folder with a file books.js exporting an array of book objects
Create a components folder with a BookList.jsx component
Create a pages folder with a Home.jsx page component
Import and use BookList in Home and pass the books data as props
💡 Why This Matters
🌍 Real World
Organizing files well in React projects makes it easier to work with others and maintain the app as it grows.
💼 Career
Understanding folder structure best practices is a key skill for frontend developers working on React applications in teams.
Progress0 / 4 steps
1
Create the books data file
Create a file books.js inside a folder named data. In it, export a constant array called books with these exact objects: { id: 1, title: 'React Basics' } and { id: 2, title: 'Advanced React' }.
React
Hint

Use export const books = [...] to share the data.

2
Create the BookList component
Inside a folder named components, create a file BookList.jsx. Write a React functional component called BookList that accepts a books prop and returns an unordered list (<ul>) with each book's title in a list item (<li>).
React
Hint

Use books.map to create list items for each book.

3
Create the Home page component
Inside a folder named pages, create a file Home.jsx. Import React, the BookList component from ../components/BookList.jsx, and the books array from ../data/books.js. Write a React functional component called Home that returns a <main> element containing <h1>Book List</h1> and the BookList component with the books prop set to the imported books array.
React
Hint

Remember to import both BookList and books with correct relative paths.

4
Complete the React app structure
In the root App.jsx file, import React and the Home component from ./pages/Home.jsx. Write a functional component called App that returns the Home component. Export App as default.
React
Hint

Use export default function App() and return the Home component inside.

Practice

(1/5)
1. What is the main reason to organize React files into folders like components, pages, and hooks?
easy
A. To make the app run faster
B. To reduce the file size of the app
C. To keep the project easy to understand and maintain
D. To avoid using React hooks

Solution

  1. Step 1: Understand folder organization purpose

    Folders like components and hooks group related files by their role.
  2. Step 2: Recognize benefits of clear structure

    This grouping makes the project easier to read and maintain for developers.
  3. Final Answer:

    To keep the project easy to understand and maintain -> Option C
  4. Quick Check:

    Folder organization = easier maintenance [OK]
Hint: Folders group related files for clarity and ease [OK]
Common Mistakes:
  • Thinking folder structure affects app speed
  • Confusing file size with organization
  • Believing hooks folder is optional for React hooks
2. Which of the following is the correct way to organize a React project folder for components?
easy
A. Put all components in a single components folder
B. Scatter components randomly in the root folder
C. Put components inside the public folder
D. Put components inside the node_modules folder

Solution

  1. Step 1: Identify standard folder for components

    React projects usually keep components in a dedicated components folder.
  2. Step 2: Avoid incorrect placements

    Components should not be in public or node_modules folders, which serve other purposes.
  3. Final Answer:

    Put all components in a single components folder -> Option A
  4. Quick Check:

    Components folder = centralized components [OK]
Hint: Keep components together in one folder [OK]
Common Mistakes:
  • Placing components in public folder
  • Scattering components without structure
  • Modifying node_modules folder
3. Given this folder structure:
src/
  components/
    Button.jsx
  hooks/
    useToggle.js
  pages/
    Home.jsx

Which file would you expect to find the custom React hook?
medium
A. src/components/Button.jsx
B. src/pages/Home.jsx
C. src/index.js
D. src/hooks/useToggle.js

Solution

  1. Step 1: Understand folder naming conventions

    Custom hooks are usually placed in the hooks folder.
  2. Step 2: Match file to folder purpose

    The file useToggle.js inside hooks matches the custom hook naming pattern.
  3. Final Answer:

    src/hooks/useToggle.js -> Option D
  4. Quick Check:

    Custom hooks in hooks folder = useToggle.js [OK]
Hint: Hooks go in the hooks folder [OK]
Common Mistakes:
  • Looking for hooks in components folder
  • Confusing pages folder with hooks
  • Assuming index.js contains hooks
4. You see this folder structure in a React project:
src/
  components/
    Header.jsx
  utils/
    helpers.js
  Header.jsx

What is the main problem here?
medium
A. Having a utils folder is not recommended
B. Duplicate Header.jsx file in root and components folder causes confusion
C. Components should be inside utils folder
D. Files should not have .jsx extension

Solution

  1. Step 1: Identify duplicate file names

    There are two Header.jsx files: one in components and one in root.
  2. Step 2: Understand confusion caused by duplicates

    This duplication can confuse developers and cause import errors.
  3. Final Answer:

    Duplicate Header.jsx file in root and components folder causes confusion -> Option B
  4. Quick Check:

    Duplicate filenames = confusion [OK]
Hint: Avoid duplicate filenames in different folders [OK]
Common Mistakes:
  • Thinking utils folder is bad practice
  • Believing components belong in utils
  • Ignoring file extensions importance
5. You are building a large React app. Which folder structure best supports growth and easy maintenance?
hard
A. Organize by feature: each feature folder contains components, hooks, and styles
B. Put all files in one big folder to avoid complexity
C. Separate files only by file type, ignoring features
D. Keep all components and hooks mixed in the root folder

Solution

  1. Step 1: Understand feature-based organization

    Grouping by feature means each feature folder holds all related files, making it easier to find and update.
  2. Step 2: Compare with other structures

    Flat or type-only folders become hard to manage as app grows, causing confusion.
  3. Final Answer:

    Organize by feature: each feature folder contains components, hooks, and styles -> Option A
  4. Quick Check:

    Feature folders = scalable and maintainable [OK]
Hint: Group by feature for scalable projects [OK]
Common Mistakes:
  • Using one big folder causes clutter
  • Separating only by file type slows feature updates
  • Mixing all files in root is confusing
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard