React helps build user interfaces in a clear, organized way. Traditional JavaScript changes the page directly, which can get messy.
React vs traditional JavaScript
React example: function Hello() { return <h1>Hello, world!</h1>; } Traditional JavaScript example: document.body.innerHTML = '<h1>Hello, world!</h1>';
React uses components that return HTML-like code called JSX.
Traditional JavaScript changes the page by directly modifying HTML elements.
function Greeting() { return <p>Welcome to React!</p>; }
document.getElementById('root').innerHTML = '<p>Welcome to JavaScript!</p>';
This React component shows a button and a number. Each time you click the button, the number goes up. React updates the page automatically.
import React, { useState } from 'react'; function Counter() { const [count, setCount] = useState(0); return ( <div> <p>You clicked {count} times</p> <button onClick={() => setCount(count + 1)}> Click me </button> </div> ); } export default Counter;
React keeps the page in sync with your data automatically.
Traditional JavaScript requires you to manually update the page when data changes.
React components make it easier to organize and reuse code.
React uses components and JSX to build pages clearly.
Traditional JavaScript changes the page directly and can be harder to manage.
React helps with interactive and dynamic user interfaces.
Practice
Solution
Step 1: Understand React's approach
React builds UI using components and JSX, which is a syntax that looks like HTML inside JavaScript.Step 2: Understand traditional JavaScript approach
Traditional JavaScript changes the page by directly manipulating the DOM elements, which can be more complex and error-prone.Final Answer:
React uses components and JSX, while traditional JavaScript manipulates the DOM directly. -> Option BQuick Check:
React uses components and JSX = A [OK]
- Thinking React only uses HTML or CSS
- Believing React cannot update pages dynamically
- Confusing server-side and client-side rendering
Solution
Step 1: Identify React functional component syntax
A React functional component is a function returning JSX, likefunction MyComponent() { return <div>Hello</div>; }.Step 2: Check other options for correctness
var MyComponent =Hello; assigns JSX directly to a variable, not a function. class MyComponent extends React.Component { render() { return 'Hello'; } } is a class component, not functional. function MyComponent() { document.write('Hello'); } uses document.write, which is not React.Final Answer:
function MyComponent() { return <div>Hello</div>; } -> Option CQuick Check:
Functional component returns JSX function = A [OK]
- Confusing class components with functional components
- Using document.write inside React components
- Assigning JSX to variables without functions
function Greeting() {
const name = 'Alice';
return <h1>Hello, {name}!</h1>;
}Solution
Step 1: Understand JSX expression evaluation
Inside JSX, curly braces {name} insert the value of the variablename, which is 'Alice'.Step 2: Determine rendered output
The component returns <h1>Hello, Alice!</h1>, so the page shows the text 'Hello, Alice!'.Final Answer:
Hello, Alice! -> Option AQuick Check:
JSX inserts variable value = C [OK]
- Thinking JSX shows {name} literally
- Confusing variable name with string output
- Expecting an error due to variable usage
function Counter() {
let count = 0;
function increment() {
count++;
}
return <button onClick={increment}>Count: {count}</button>;
}Solution
Step 1: Understand React state behavior
React components must use state (like useState) to update UI dynamically. Here, count is a normal variable and changes won't re-render the component.Step 2: Identify why increment doesn't update UI
Increment changes count variable but React does not know to re-render, so displayed count stays 0.Final Answer:
The increment function does not update the displayed count -> Option DQuick Check:
State needed to update UI = D [OK]
- Thinking let vs const affects UI update
- Ignoring React's re-render on state change
- Using wrong event attribute case
Solution
Step 1: Understand React's dynamic UI approach
React uses state (like useState) to hold data and re-renders UI automatically when state changes.Step 2: Compare with traditional DOM manipulation
Traditional JavaScript manipulates DOM directly (options A and C), which is harder to manage and less efficient.Step 3: Consider React class components
Use React class components with componentDidMount to update the list directly. uses class components and lifecycle methods, but modern React prefers functional components with hooks.Final Answer:
Use React's useState hook to store the list and update it, then render the list in JSX. -> Option AQuick Check:
React state and JSX rendering = B [OK]
- Using direct DOM methods inside React components
- Relying on innerHTML string building
- Using outdated class components instead of hooks
Ready to prove it?
Pass the test and this pattern moves unknown
