React helps you build interactive web pages easily. Creating your first React app shows you how to start using React step-by-step.
Creating first React app
import React from 'react'; import ReactDOM from 'react-dom/client'; function App() { return ( <div> <h1>Hello, React!</h1> </div> ); } const root = ReactDOM.createRoot(document.getElementById('root')); root.render(<App />);
Use function App() to create a component that returns HTML-like code called JSX.
Use ReactDOM.createRoot and root.render to show your component on the webpage.
function App() { return <h1>Welcome to React!</h1>; }
const root = ReactDOM.createRoot(document.getElementById('root')); root.render(<App />);
This React app shows a heading and a paragraph on the page. It uses a component called App and renders it inside the element with id root.
import React from 'react'; import ReactDOM from 'react-dom/client'; function App() { return ( <main> <h1>Hello, React!</h1> <p>This is your first React app.</p> </main> ); } const root = ReactDOM.createRoot(document.getElementById('root')); root.render(<App />);
Make sure your HTML file has a <div id="root"></div> where React can put your app.
Use a tool like Create React App or Vite to set up your project easily.
JSX looks like HTML but it is JavaScript. Always return one parent element from your component.
React apps are built from components that return JSX.
You render your main component inside a webpage element with an id like 'root'.
Creating your first React app helps you start building interactive web pages.
Practice
ReactDOM.createRoot method in a React app?Solution
Step 1: Understand ReactDOM.createRoot usage
This method is used to select the HTML element where the React app will appear, usually a div with id 'root'.Step 2: Identify its role in rendering
It creates a root for React to manage the app's UI inside that HTML element.Final Answer:
It tells React where to put the app in the HTML page. -> Option BQuick Check:
ReactDOM.createRoot sets the app's HTML container [OK]
- Thinking it creates components
- Confusing it with styling or data fetching
- Assuming it runs app logic
App?Solution
Step 1: Check function syntax for React component
A React functional component is a function that returns JSX, so it needs parentheses after the name.Step 2: Validate JSX return and syntax
function App() { returnHello; } correctly defines a function named App that returns JSX inside a div.Final Answer:
function App() { returnHello; } -> Option CQuick Check:
Functional component = function with () and JSX return [OK]
- Missing parentheses after function name
- Assigning JSX directly to a variable without function
- Using class syntax incorrectly for functional components
import React from 'react';
import ReactDOM from 'react-dom/client';
function App() {
return Welcome to React!
;
}
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<App />);Solution
Step 1: Understand what the App component returns
The App function returns an <h1> element with the text 'Welcome to React!'.Step 2: Check rendering process
The root renders the App component inside the HTML element with id 'root', so the heading will appear on the page.Final Answer:
Welcome to React! -> Option DQuick Check:
App returns <h1>Welcome to React!</h1> [OK]
- Thinking component name shows instead of its return
- Assuming error without checking code carefully
- Confusing JSX tags with plain text
import React from 'react';
import ReactDOM from 'react-dom/client';
function App() {
return <h1>Hello World</h1>;
}
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(App);Solution
Step 1: Check how render is called
React expects a JSX element or component instance in render, so is correct, not just App.Step 2: Understand difference between component and element
App is a function, is JSX that creates an element from that function.Final Answer:
App should be called as <App /> in render, not just App. -> Option AQuick Check:
render needs JSX element like <App /> [OK]
- Passing function name instead of JSX element to render
- Confusing component function with element instance
- Ignoring JSX syntax rules
div with a class container. Which code correctly creates and renders this app?Solution
Step 1: Use correct JSX attribute for class
In React, useclassNameinstead ofclassfor CSS classes.Step 2: Render the component as JSX element
Useroot.render(<App />)to render the component, not just the function name.Final Answer:
function App() { return <div className="container">Hello!</div>; } const root = ReactDOM.createRoot(document.getElementById('root')); root.render(<App />); -> Option AQuick Check:
Use className and render JSX element [OK]
- Using class instead of className in JSX
- Passing function name instead of JSX element to render
- Using old ReactDOM.render instead of createRoot
Ready to prove it?
Pass the test and this pattern moves unknown
