Funcția createContext creează un canal de comunicare prin care datele pot fi distribuite în adâncimea arborelui de componente fără a fi pasate manual pas cu pas prin proprietăți intermediare (eliminând props drilling).
Definirea și furnizarea unui context de autentificare
import { createContext, useState, useContext } from 'react';
// 1. Creăm contextul cu o valoare implicită de siguranță:
export const AuthContext = createContext({
utilizator: null,
login: () => {},
logout: () => {}
});
// 2. Creăm componenta furnizor (Provider):
export function AuthProvider({ children }) {
const [utilizator, setUtilizator] = useState(null);
const login = (date) => setUtilizator(date);
const logout = () => setUtilizator(null);
return (
<AuthContext.Provider value={{ utilizator, login, logout }}>
{children}
</AuthContext.Provider>
);
}
// 3. Hook personalizat pentru acces facil:
export const useAuth = () => useContext(AuthContext);