Bird
Raised Fist0
Reactframework~20 mins

Component naming rules in React - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
React Component Naming Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
📝 Syntax
intermediate
2:00remaining
Valid React component names

Which of the following component names is valid in React?

AMyComponent
BmyComponent
C123Component
D_myComponent
Attempts:
2 left
💡 Hint

React components must start with a capital letter and follow JavaScript identifier rules.

❓ component_behavior
intermediate
2:00remaining
Component usage with lowercase vs uppercase names

What will React render when using a component named mybutton in JSX?

Consider these two components:

function mybutton() { return <button>Click</button>; }
function MyButton() { return <button>Click</button>; }

And usage:

<mybutton />
ARenders the custom component output (button with text 'Click')
BThrows a syntax error because component names must be uppercase
CRenders an HTML element named 'mybutton' (unknown tag) instead of the component
DRenders nothing because lowercase components are ignored
Attempts:
2 left
💡 Hint

React treats lowercase tags as HTML elements, not components.

🔧 Debug
advanced
2:00remaining
Why does this component fail to render?

Given this React component code, why does it fail to render anything?

function 2ndComponent() {
  return <div>Hello</div>;
}
AThe component returns invalid JSX syntax
BComponent names cannot start with a digit, causing a syntax error
CReact components must be arrow functions, not function declarations
DThe component is missing a return statement
Attempts:
2 left
💡 Hint

Check JavaScript rules for function names.

🧠 Conceptual
advanced
2:00remaining
Why use PascalCase for React components?

Why is it recommended to name React components using PascalCase (e.g., MyComponent)?

ABecause React treats PascalCase names as components and lowercase as HTML tags
BBecause JavaScript only allows PascalCase function names
CBecause PascalCase components load faster in the browser
DBecause CSS styles only apply to PascalCase components
Attempts:
2 left
💡 Hint

Think about how React distinguishes components from HTML elements.

❓ state_output
expert
2:00remaining
Component name and state hook behavior

Consider this React component:

function mycounter() {
  const [count, setCount] = React.useState(0);
  return <button onClick={() => setCount(count + 1)}>Count: {count}</button>;
}

What will happen when you use <mycounter /> in your app?

AReact throws an error because hooks cannot be used in lowercase named components
BThe button renders and increments count on click as expected
CThe button renders but clicking does not update the count state
DReact treats <mycounter /> as an HTML element and ignores the hook, so no state updates
Attempts:
2 left
💡 Hint

Recall how React treats lowercase JSX tags and hooks usage.

Practice

(1/5)
1. Which of the following is the correct way to name a React component?
easy
A. MyComponent
B. myComponent
C. my_component
D. mycomponent

Solution

  1. Step 1: Understand React component naming rules

    React components must start with a capital letter to be recognized as components.
  2. Step 2: Identify the correct naming style

    PascalCase (capitalizing each word) is the standard for React components, so "MyComponent" is correct.
  3. Final Answer:

    MyComponent -> Option A
  4. Quick Check:

    Component names start with capital letters = C [OK]
Hint: Component names always start with uppercase letters [OK]
Common Mistakes:
  • Starting component names with lowercase letters
  • Using underscores instead of PascalCase
  • Using all lowercase letters
2. Which of the following will NOT be recognized by React as a component?
easy
A. function mycomponent() { return
Hello
; }
B. const MyComponent = function() { return
Hello
; };
C. const MyComponent = () =>
Hello
;
D. function MyComponent() { return
Hello
; }

Solution

  1. Step 1: Check function component naming

    React treats functions starting with lowercase letters as regular functions, not components.
  2. Step 2: Identify the naming error

    While lowercase function names are valid JavaScript, React will not render them as components, causing unexpected behavior.
  3. Final Answer:

    function mycomponent() { return <div>Hello</div>; } -> Option A
  4. Quick Check:

    Component functions must start uppercase = D [OK]
Hint: Component functions must start with uppercase letters [OK]
Common Mistakes:
  • Using lowercase function names for components
  • Confusing JavaScript function syntax with React rules
  • Assuming lowercase names work as components
3. What will happen if you try to render this component?
function greeting() { return <h1>Hi</h1>; }

<greeting />
medium
A. It renders the component but with a warning
B. It throws a syntax error
C. It renders the <h1>Hi</h1> text on the page
D. It renders nothing because React treats it as a lowercase HTML tag

Solution

  1. Step 1: Understand lowercase component names in JSX

    React treats lowercase tags as HTML elements, not components.
  2. Step 2: Analyze the effect of rendering <greeting />

    Since "greeting" is lowercase, React looks for an HTML tag <greeting>, which does not exist, so it renders nothing.
  3. Final Answer:

    It renders nothing because React treats it as a lowercase HTML tag -> Option D
  4. Quick Check:

    Lowercase names render as HTML tags = A [OK]
Hint: Lowercase names render as HTML tags, not components [OK]
Common Mistakes:
  • Expecting lowercase names to render components
  • Thinking React throws syntax errors for lowercase names
  • Assuming React warns automatically for lowercase components
4. Identify the error in this React component code:
function 1stComponent() { return <div>Hello</div>; }
medium
A. Missing return statement
B. Component name cannot start with a number
C. JSX syntax error inside return
D. Component name must be lowercase

Solution

  1. Step 1: Check component naming rules

    Component names must be valid JavaScript identifiers and start with a capital letter.
  2. Step 2: Identify invalid name

    Names cannot start with a number, so "1stComponent" is invalid.
  3. Final Answer:

    Component name cannot start with a number -> Option B
  4. Quick Check:

    Valid identifiers start with letters = B [OK]
Hint: Component names must start with letters, not numbers [OK]
Common Mistakes:
  • Starting component names with numbers
  • Confusing lowercase requirement
  • Assuming JSX syntax error when name is invalid
5. You want to create a component that shows a user's profile. Which is the best name following React naming rules and good practice?
hard
A. user_Profile
B. userprofile
C. UserProfile
D. User_profile

Solution

  1. Step 1: Apply React component naming conventions

    React components should use PascalCase starting with uppercase letters.
  2. Step 2: Choose clear and readable name

    "UserProfile" uses PascalCase and clearly describes the component's purpose.
  3. Final Answer:

    UserProfile -> Option C
  4. Quick Check:

    PascalCase and clarity = A [OK]
Hint: Use PascalCase with clear words for component names [OK]
Common Mistakes:
  • Using all lowercase or underscores in names
  • Mixing lowercase and uppercase incorrectly
  • Choosing unclear or ambiguous names
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