Bird
Raised Fist0
Reactframework~5 mins

What is React

Choose your learning style10 modes available
Introduction

React helps you build parts of websites or apps that change often, like buttons or lists. It makes updating what you see on screen easy and fast.

You want to build a website with interactive buttons or forms.
You need to show lists of items that can change, like messages or products.
You want your app to update parts of the page without reloading everything.
You want to reuse pieces of your website in different places.
You want to build a user interface that works well on phones and computers.
Syntax
React
import React from 'react';

function MyComponent() {
  return (
    <div>Hello, React!</div>
  );
}

export default MyComponent;
React uses components, which are like small building blocks for your UI.
Components return JSX, a syntax that looks like HTML but works in JavaScript.
Examples
A simple React component that shows a greeting message.
React
function Greeting() {
  return <h1>Hi there!</h1>;
}
A React component that counts how many times you click a button.
React
import { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);
  return (
    <button onClick={() => setCount(count + 1)}>
      Clicked {count} times
    </button>
  );
}
Sample Program

This React component shows a button. Each time you click it, the number updates. It uses useState to remember the count. The button has an aria-label for accessibility.

React
import React, { useState } from 'react';

function ClickMeButton() {
  const [clicks, setClicks] = useState(0);

  return (
    <button onClick={() => setClicks(clicks + 1)} aria-label="Click me button">
      You clicked me {clicks} times
    </button>
  );
}

export default ClickMeButton;
OutputSuccess
Important Notes

React components must start with a capital letter.

JSX looks like HTML but you write JavaScript inside curly braces {}.

React updates only the parts of the page that change, making apps fast.

Summary

React is a tool to build interactive parts of websites or apps.

It uses components that return JSX to describe what to show.

React helps update the screen quickly when data changes.

Practice

(1/5)
1. What is React mainly used for?
easy
A. Writing server-side scripts
B. Managing databases
C. Building interactive user interfaces
D. Designing logos

Solution

  1. Step 1: Understand React's purpose

    React is a tool to build parts of websites or apps that users interact with.
  2. Step 2: Identify correct use case

    Among the options, only building interactive user interfaces matches React's main use.
  3. Final Answer:

    Building interactive user interfaces -> Option C
  4. Quick Check:

    React = interactive UI [OK]
Hint: React is for UI, not backend or design [OK]
Common Mistakes:
  • Confusing React with backend frameworks
  • Thinking React manages databases
  • Assuming React is for graphic design
2. Which of the following is the correct way to define a React component?
easy
A. component MyComponent { return
Hello
; }
B. function MyComponent() { return
Hello
; }
C. def MyComponent(): return
Hello
D. class MyComponent = () =>
Hello
;

Solution

  1. Step 1: Recall React component syntax

    React components can be functions returning JSX like function MyComponent() { return <div>Hello</div>; }.
  2. Step 2: Check each option

    function MyComponent() { return
    Hello; } matches the correct function component syntax. Others use invalid or non-JS syntax.
  3. Final Answer:

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

    Function component syntax = function MyComponent() { return
    Hello
    ; } [OK]
Hint: React components are functions returning JSX [OK]
Common Mistakes:
  • Using Python or other language syntax
  • Trying to declare components with 'component' keyword
  • Incorrect arrow function syntax for components
3. What will this React component display?
function Greeting() {
  const name = 'Anna';
  return <h1>Hello, {name}!</h1>;
}
medium
A.

Hello, Anna!

B.

Hello, {name}!

C. Error: name is undefined
D.

Hello, !

Solution

  1. Step 1: Understand JSX expression usage

    The component uses curly braces {name} to insert the variable value 'Anna' inside the <h1> tag.
  2. Step 2: Predict rendered output

    The output will be <h1>Hello, Anna!</h1> as the variable is correctly used.
  3. Final Answer:

    <h1>Hello, Anna!</h1> -> Option A
  4. Quick Check:

    JSX {variable} inserts value =

    Hello, Anna!

    [OK]
Hint: JSX uses { } to show variable values [OK]
Common Mistakes:
  • Thinking JSX shows variable names literally
  • Assuming variable is undefined
  • Forgetting to use curly braces for variables
4. Find the error in this React component:
function Welcome() {
  return (
    <div>
      <h1>Welcome</h2>
    </div>
  );
}
medium
A. Mismatched closing tag: </h2> instead of </h1>
B. Missing return statement
C. Function name should start with lowercase
D. JSX must be wrapped in a single tag

Solution

  1. Step 1: Check JSX tags for correctness

    The opening tag is <h1> but the closing tag is </h2>, which is invalid in JSX.
  2. Step 2: Confirm other parts are correct

    The return statement exists, function name is valid, and JSX is wrapped in a <div> tag.
  3. Final Answer:

    Mismatched closing tag: </h2> instead of </h1> -> Option A
  4. Quick Check:

    JSX tags must match exactly = Mismatched closing tag: </h2> instead of </h1> [OK]
Hint: Check opening and closing JSX tags match [OK]
Common Mistakes:
  • Ignoring tag mismatch errors
  • Thinking function names must be lowercase
  • Missing that JSX needs one root element
5. You want to update a React component when data changes. Which React feature helps update the screen quickly?
hard
A. HTML forms
B. JSX syntax
C. CSS styling
D. Virtual DOM

Solution

  1. Step 1: Understand React's update mechanism

    React uses a Virtual DOM to compare changes and update only what is needed on the screen.
  2. Step 2: Identify the correct feature

    JSX is for describing UI, CSS styles appearance, HTML forms handle input, but Virtual DOM manages efficient updates.
  3. Final Answer:

    Virtual DOM -> Option D
  4. Quick Check:

    Fast updates = Virtual DOM [OK]
Hint: Virtual DOM speeds up UI updates [OK]
Common Mistakes:
  • Confusing JSX with update mechanism
  • Thinking CSS controls updates
  • Assuming HTML forms handle UI refresh
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