Bird
Raised Fist0
Reactframework~5 mins

State vs props comparison in React - Quick Revision & Key Differences

Choose your learning style10 modes available
Recall & Review
beginner
What is state in React?
State is a way to store data inside a component that can change over time. It controls the component's behavior and appearance. When state changes, the component updates its output.
Click to reveal answer
beginner
What are props in React?
Props are inputs passed from a parent component to a child component. They are read-only and cannot be changed by the child component.
Click to reveal answer
beginner
Can a component change its own props?
No, a component cannot change its own props. Props are controlled by the parent component and are read-only inside the child.
Click to reveal answer
intermediate
When should you use state instead of props?
Use state when you need to keep track of data that changes inside the component, like user input or toggles. Use props to pass fixed or external data from parent to child.
Click to reveal answer
beginner
How does changing state affect a React component?
Changing state causes the component to re-render, updating what the user sees. This makes the UI dynamic and interactive.
Click to reveal answer
Which of the following can a React component modify directly?
ANeither state nor props
BProps
CState
DBoth state and props
Props in React are:
AImmutable data passed from parent to child
BMutable data owned by the component
CUsed to store local component data
DChanged by the child component
What happens when a component's state changes?
AThe component unmounts
BThe component re-renders
CProps are updated
DNothing changes visually
Which is true about props?
AThey are used to pass data down from parent to child
BThey can be changed by the component receiving them
CThey store temporary data inside a component
DThey cause the component to re-render when changed internally
When should you use state in a React component?
ATo hold data passed from a parent
BTo pass data to child components
CTo make props read-only
DTo store data that changes over time inside the component
Explain the difference between state and props in React.
Think about who controls the data and if it can change inside the component.
You got /4 concepts.
    Describe a real-life example where you would use state and another where you would use props in a React app.
    Imagine a form input for state and a label showing a name for props.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which of the following best describes the difference between state and props in React?
      easy
      A. Props can change inside a component; state is fixed.
      B. State is internal and can change; props are external and read-only.
      C. State and props are both used to pass data from parent to child.
      D. Props are used only for styling; state holds all data.

      Solution

      1. Step 1: Understand what state is

        State is data managed inside a component that can change over time.
      2. Step 2: Understand what props are

        Props are data passed from a parent component to a child component and cannot be changed by the child.
      3. Final Answer:

        State is internal and can change; props are external and read-only. -> Option B
      4. Quick Check:

        State changes internally, props are read-only from parent [OK]
      Hint: State changes inside; props come from outside [OK]
      Common Mistakes:
      • Thinking props can be changed inside the child component
      • Confusing state as data passed from parent
      • Believing props hold styling only
      2. Which of the following is the correct way to pass a prop named title with value "Hello" to a child component Header?
      easy
      A. <Header title="Hello" />
      B. <Header {title: "Hello"} />
      C. <Header title={Hello} />
      D. <Header title: "Hello" />

      Solution

      1. Step 1: Recall JSX syntax for passing props

        Props are passed as attributes inside the component tag, like HTML attributes.
      2. Step 2: Check correct syntax for string prop

        Use quotes around string values: title="Hello".
      3. Final Answer:

        <Header title="Hello" /> -> Option A
      4. Quick Check:

        Props use attribute syntax with quotes for strings [OK]
      Hint: Use attribute="value" syntax for string props [OK]
      Common Mistakes:
      • Using curly braces without variable for string
      • Using object-like syntax inside JSX tag
      • Using colon instead of equals sign
      3. Consider this React component code:
      function Counter({ initial }) {
        const [count, setCount] = React.useState(initial);
        return <div>Count: {count}</div>;
      }
      
      // Usage:
      <Counter initial={5} />

      What will be displayed when this component renders?
      medium
      A. Count: 0
      B. Count: undefined
      C. Count: 5
      D. Count: initial

      Solution

      1. Step 1: Understand prop usage

        The prop initial is passed with value 5 to the Counter component.
      2. Step 2: Understand state initialization

        The state count is initialized with initial, so count starts at 5.
      3. Final Answer:

        Count: 5 -> Option C
      4. Quick Check:

        State initialized from prop value 5 [OK]
      Hint: State starts with prop value passed in [OK]
      Common Mistakes:
      • Assuming state starts at 0 by default
      • Printing the prop name instead of value
      • Confusing undefined with missing prop
      4. What is wrong with this React component code?
      function Message(props) {
        props.text = "Hello";
        return <div>{props.text}</div>;
      }
      medium
      A. You cannot assign a new value to props inside a component.
      B. The return statement is missing parentheses.
      C. The component should use state instead of props.
      D. The component must be a class to modify props.

      Solution

      1. Step 1: Understand props immutability

        Props are read-only and cannot be changed inside the component.
      2. Step 2: Identify the error in code

        Assigning props.text = "Hello" tries to modify props, which is not allowed.
      3. Final Answer:

        You cannot assign a new value to props inside a component. -> Option A
      4. Quick Check:

        Props are immutable inside components [OK]
      Hint: Props are read-only; never assign to them [OK]
      Common Mistakes:
      • Trying to change props directly
      • Confusing props with state
      • Thinking only class components can modify props
      5. You want a component to display a counter that starts from a value passed by its parent and can be incremented by the user. Which approach correctly uses state and props?
      hard
      A. Modify the prop value directly when user clicks increment.
      B. Keep counter value only in props and pass updated props from child to parent.
      C. Use props only and update them inside the component.
      D. Initialize state with the prop value; update state on user action; do not modify props.

      Solution

      1. Step 1: Understand data flow

        Props provide initial data from parent; state holds data that changes inside the component.
      2. Step 2: Apply correct usage

        Initialize state with prop value, then update state on user actions. Props remain unchanged.
      3. Final Answer:

        Initialize state with the prop value; update state on user action; do not modify props. -> Option D
      4. Quick Check:

        State changes internally; props stay read-only [OK]
      Hint: Use props for initial value, state for changes [OK]
      Common Mistakes:
      • Trying to change props directly
      • Using props to hold changing data
      • Passing updated data from child to parent incorrectly
      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