import "./App.
css";
import Parent from "./Pages/Parent";
import AuthProvider from "./Context/AuthProvider";
function App() {
return (
<>
<AuthProvider>
<Parent />
</AuthProvider>
{/* <Router>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/userdata" element={<Userdata />} />
<Route path="/sign-up" element={<Signup />} />
<Route path="/login" element={<Login/>}/>
</Routes>
</Router> */}
</>
);
}
export default App;
import React, { createContext, useState } from "react";
export const AuthContext = createContext();
const AuthProvider = ({ children }) => {
const [login, setLogin] = useState(false);
const handleLogin = () => {
setLogin(!login);
};
return (
<>
<h2>Authentication procees</h2>
<br />
<AuthContext.Provider value={{ handleLogin, login }}>
{children}
</AuthContext.Provider>
</>
);
};
export default AuthProvider;
import Child from "./Child";
const Parent = () => {
return (
<>
<Child />
</>
);
};
export default Parent;
import React, { useContext } from "react";
import { AuthContext } from "../Context/AuthProvider";
const Child = () => {
const { handleLogin, login } = useContext(AuthContext);
return (
<>
{login ? (
<div>
<h3>welcome</h3>
<button onClick={handleLogin}>logoot</button>
</div>
) : (
<div>
<h3>plz login</h3>
<button onClick={handleLogin}>login</button>
</div>
)}
</>
);
};
export default Child;
note:-{children} is a special prop used in react this renders any child component
passed to context component}