📖 Scenario: You want to build a simple webpage that shows a greeting message. To do this, you will create a React component that displays the message.
🎯 Goal: Build a React functional component called Greeting that shows the text "Hello, friend!" on the page.
📋 What You'll Learn
Create a React functional component named Greeting
Inside the component, return a <div> element
The <div> should contain the exact text: "Hello, friend!"
Export the Greeting component as default
💡 Why This Matters
🌍 Real World
React components let developers build web pages by combining small, reusable pieces. This makes building and maintaining websites easier.
💼 Career
Understanding components is essential for React developers, a popular skill in web development jobs.
Progress0 / 4 steps
1
Create the React functional component
Write a React functional component named Greeting that returns a <div> element.
React
Hint
Start by writing function Greeting() { return <div></div>; } and export it.
2
Add the greeting text inside the div
Inside the <div> element of the Greeting component, add the text Hello, friend! exactly.
React
Hint
Put the text inside the <div> tags like this: <div>Hello, friend!</div>.
3
Use the Greeting component in an app
Create a React functional component named App that returns the <Greeting /> component inside a <main> element. Export App as default.
React
Hint
Create function App() { return <main><Greeting /></main>; } and export it.
4
Explain the component output
Add a comment above the Greeting component explaining that it shows the text "Hello, friend!" on the page.
React
Hint
Write a comment starting with // describing what the Greeting component does.
Practice
(1/5)
1. What is a React component?
easy
A. A reusable piece of UI built with a function or class
B. A special type of variable that stores data
C. A tool to style HTML elements
D. A command to run React apps
Solution
Step 1: Understand React components
A React component is a building block of UI that can be reused multiple times.
Step 2: Identify the correct definition
Only A reusable piece of UI built with a function or class describes a reusable UI piece built with a function or class.
Final Answer:
A reusable piece of UI built with a function or class -> Option A
Quick Check:
Component = reusable UI block [OK]
Hint: Components are reusable UI parts made with functions [OK]
Common Mistakes:
Confusing components with variables
Thinking components are styling tools
Believing components are commands
2. Which of the following is the correct way to define a React functional component?
easy
A. const MyComponent = 'Hello';
B. function MyComponent() { return
Hello
; }
C. var MyComponent =
Hello
;
D. class MyComponent extends React.Component { }
Solution
Step 1: Review functional component syntax
A functional component is a function returning JSX, like function MyComponent() { return
Hello; }.
Step 2: Check each option
function MyComponent() { return
Hello
; } matches the correct syntax. var MyComponent =
Hello
; assigns JSX directly to a variable, which is not a component. const MyComponent = 'Hello'; assigns a string, not JSX. class MyComponent extends React.Component { } is a class component, not functional.
Final Answer:
function MyComponent() { return <div>Hello</div>; } -> Option B
Quick Check:
Functional component = function returning JSX [OK]
Hint: Functional components are functions returning JSX [OK]
Common Mistakes:
Assigning JSX directly to variables
Using strings instead of JSX
Confusing functional and class components
3. What will this React component render?
function Greeting() {
return <h1>Hello, world!</h1>;
}
medium
A. Nothing, because the function is not called
B. An error because of missing parentheses
C. <h1>Hello, world!</h1> displayed on the page
D. A blank page with no content
Solution
Step 1: Understand component return value
The component returns an <h1> element with text "Hello, world!" which React renders as HTML.
Step 2: Confirm rendering behavior
When used in JSX, this component will display the heading on the page. No syntax errors exist.
Final Answer:
<h1>Hello, world!</h1> displayed on the page -> Option C
Quick Check:
Return JSX renders UI [OK]
Hint: Returned JSX shows on page when component is used [OK]
Common Mistakes:
Thinking function must be called manually
Assuming missing parentheses cause error here
Believing component renders nothing by default
4. Identify the error in this React component:
function Welcome() {
return <div>Welcome to React</div>
}
medium
A. Missing semicolon after return statement
B. JSX must be wrapped in parentheses if on multiple lines
C. Function name should start with lowercase letter
D. No error, component is correct
Solution
Step 1: Check JSX syntax
The JSX is a single line and correctly returned without parentheses, which is valid.
Step 2: Verify naming and semicolon rules
Function names for components should start uppercase, which is true. Semicolons are optional in JavaScript here.
Final Answer:
No error, component is correct -> Option D
Quick Check:
Valid JSX and naming means no error [OK]
Hint: JSX on one line doesn't need parentheses [OK]
Common Mistakes:
Thinking semicolons are mandatory after return
Believing lowercase function names are required
Assuming JSX always needs parentheses
5. You want to create a reusable button component that shows different text based on a property. Which is the best way to do this?
hard
A. function Button(props) { return {props.text}; }
B. function Button() { return Click me; }
C. const Button = Click me;
D. function Button(text) { return {text}; }
Solution
Step 1: Understand passing data to components
Props are used to pass data to components. Using props.text allows dynamic button text.
Step 2: Evaluate each option
function Button(props) { return {props.text}; } correctly uses props to show different text. function Button() { return Click me; } always shows fixed text. const Button = Click me; is not a function component. function Button(text) { return {text}; } incorrectly uses a parameter instead of props object.
Final Answer:
function Button(props) { return <button>{props.text}</button>; } -> Option A
Quick Check:
Use props for dynamic content [OK]
Hint: Use props to pass dynamic text to components [OK]
Common Mistakes:
Hardcoding text inside component
Not using props object for parameters
Assigning JSX directly to variables
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.