Lesson 3 - RandomQuote App
Last updated
Last updated
Create the project: Run the following command in your terminal:
Install Bootstrap: Install Bootstrap for styling:
Import Bootstrap CSS in your index.js
:
In src folder- App.jsx
(Parent Component): Manages the state and passes props to RandomQuote
.
In src/components folder - RandomQuote.jsx
(Child Component): Displays the quote and handles button clicks.
App.jsx
Initializes state with a default quote.
Defines an array of quotes.
Creates a getRandomQuote
function to generate a random index and update the quote
state.
Renders the RandomQuote
component, passing the quote
and getRandomQuote
function as props.
use two useState for updating the state of current quote and text color:
Key Points
The useState
hook is used to manage the current quote.
Props (quote, color
and onChangeQuote
) are passed from the parent component to the child component.
The getRandomQuote
prop is used to update the state in the parent component.
Bootstrap is used for basic styling (you can customize it further).
RandomQuote.jsx
Receives quote, color
and onChangeQuote
as props.
Displays the quote
within a Bootstrap card.
Renders a button that, when clicked, triggers the onChangeQuote
function passed from the parent component.
Start the development server:
Open the browser and view your app. When you click the "Get New Quote" button, a random quote with a new background color will appear.
Add animations: Use CSS or libraries like react-transition-group
to add fade effects when changing quotes.
Persist state: Use localStorage
to remember the last quote displayed.
API Integration: Replace the static array with an API call to fetch quotes dynamically.
This structure provides a reusable child component and showcases the flow of data between the parent and child using props and state.