If you have any query feel free to chat us!
Happy Coding! Happy Learning!
In "React Intermediate - Class 1," we'll build on the foundation of React basics and explore more intermediate concepts and techniques to enhance our React applications. We'll cover topics such as reusable components, prop drilling, and context API.
Step 1: Reusable Components
Creating reusable components is a fundamental concept in React. Reusable components allow you to write clean and modular code, making it easier to maintain and scale your application.
Let's create a simple
Button
component that can be reused throughout our application.Create a new file called
Button.js
inside thesrc
folder with the following content:jsxCopy code
import React from 'react'; function Button({ onClick, text }) { return ( <button onClick={onClick} style={{ padding: '10px 20px', fontSize: '16px' }}> {text} </button> ); } export default Button;
Step 2: Prop Drilling
Sometimes, components need to pass data down multiple levels through props. This process is known as prop drilling. While prop drilling is a common practice, it can lead to complex and messy code.
To avoid prop drilling, we can use React context to provide a value to all components in the tree without explicitly passing it down as props.
Step 3: Context API
React's Context API allows you to share data between components without having to pass the props explicitly. It consists of two main parts: the context provider and the context consumer.
Let's create a simple example using context to share a theme throughout the application.
Create a new file called
ThemeContext.js
inside thesrc
folder with the following content:jsxCopy code
import React, { createContext, useState } from 'react'; const ThemeContext = createContext(); function ThemeProvider({ children }) { const [theme, setTheme] = useState('light'); return ( <ThemeContext.Provider value={{ theme, setTheme }}> {children} </ThemeContext.Provider> ); } export { ThemeContext, ThemeProvider };
In this example, we use
createContext
to create a new context anduseState
to manage the theme state. TheThemeProvider
component provides the theme value and thesetTheme
function to all its children components using theThemeContext.Provider
.Step 4: Using Components Together
Now, let's use the
Button
component and theThemeProvider
in theApp.js
.jsxCopy code
import React, { useContext } from 'react'; import { BrowserRouter as Router, Route, Link } from 'react-router-dom'; import Home from './Home'; import About from './About'; import Form from './Form'; import ParentComponent from './ParentComponent'; import UserList from './UserList'; import Button from './Button'; import { ThemeProvider, ThemeContext } from './ThemeContext'; function App() { const { theme, setTheme } = useContext(ThemeContext); const toggleTheme = () => { setTheme((prevTheme) => (prevTheme === 'light' ? 'dark' : 'light')); }; return ( <Router> <ThemeProvider> <div style={{ backgroundColor: theme === 'light' ? '#fff' : '#333' }}> <h1>Hello, React!</h1> <nav> <ul> <li> <Link to="/">Home</Link> </li> <li> <Link to="/about">About</Link> </li> </ul> </nav> <Route exact path="/" component={Home} /> <Route path="/about" component={About} /> <Form /> <ParentComponent /> <UserList /> <Button onClick={toggleTheme} text="Toggle Theme" /> </div> </ThemeProvider> </Router> ); } export default App;
In this example, we use the
useContext
Hook to access the theme value andsetTheme
function from theThemeContext
. We then pass thetoggleTheme
function as a prop to theButton
component.Now, when you run the application and click the "Toggle Theme" button, the theme will change between light and dark.
Congratulations! You've completed the first class of React Intermediate. You've learned about creating reusable components, avoiding prop drilling using context API, and sharing data throughout the application.
React offers a wide range of possibilities for building powerful and interactive user interfaces. As you continue your React journey, you can explore more intermediate and advanced topics such as custom hooks, state management libraries like Redux, and server-side rendering with Next.js.
Keep practicing, building more complex applications, and exploring the vast possibilities of React! Happy coding!
Comments: 24
Kindly check the lecture number 6. Lifecycle of a Change in 1. Git and Github The above lecture is not related to the course please update it ASAP Thank you
From where can I download the files which love babbar says he has uploaded on dashboard ??
I have attached the link https://github.com/lakshayk12/ANN_optimization_BTP
bro, i paid for the course, but still can't access the course. do something
Paid for the course but it still locked, can solve this problem please, when you take the payment the couse should be unlocked, evey time i have to message for any purchase
Now your Paypal payment is accepted and your course is activated successfully. Please leave your valuable feedback.
Why i am being asked for payment if i am already enrolled in the course
Dear anand, your payment is now updated check your course, apologize for several delays. Please leave your valuable feedback.
thanks its working now
hello ,I have a doubt
hello i have a doubt
hi
I'm paying through my Card, but it giving an error. why ? how we can purchase a course in Pakistan. Paypal is banned here
can we download the videos
i done my payment for mern stack development love babbar but cant acces to course kindly give me access
Dear Krishnapal your payment is already accepted go and check back.
Why i am being asked for payment if i am already enrolled in the course
Dear Shivansh, if you already done your payment then contact us on our official Email id [email protected] or reply here.
Why i am being asked for payment if i am already enrolled in the course
Dear p8354046, if you already done your payment then contact us on our official Email id [email protected] or reply here.
Why i am being asked for payment if i am already enrolled in the course
Dear, Don't worry now your problem is solved check your id.
Why i am being asked for payment if i am already enrolled in the course
Yes bro
I'm facing same issue
Dear, Don't worry now your problem is solved check your id.
i want debit card option
how can i assure that this is not scam?
i have same doubt is this website real or a fraud
No its not any fraud. its genuine if you need any proof please contact us via email.
No it's not any scam, its genuine if you need any proof please contact us via email.
how to do payment ?
Click on Watch now button then click next video then payment option is showing
i am unable to access the video even i have already completed my payment .
Your problem is solved
plz add codes lecture wise ! it wold be great and helpful also
now we have added starter package in lecture 2nd, go now and download it.
how to view this one
Why video not play
Now it's working.
Thank you for the access of the videos. It would be greatful if I could no the way to download the videos
Use idm to download
ok
Hello bro can you share course with me?
hello everyone