The React Context API is a feature that allows you to share state (data) across multiple components without passing props down manually at every level of the component tree. It simplifies state management, especially in large applications where many components need access to the same data.
Key Concepts:
-
Context Creation:
You create a context using
React.createContext()
.
const MyContext = React.createContext();
- Provider: The provider component is used to wrap the part of your app where you want the context to be accessible. It passes down the context value to its children.
<MyContext.Provider value={someValue}>
{children}
</MyContext.Provider>
-
Consumer:
Components that need access to the context can either use the
Context.Consumer
or theuseContext
hook (more common in functional components).
const someValue = useContext(MyContext);
Example Usage:
- Create a context:
const ThemeContext = React.createContext();
- Provide the context in a parent component:
const App = () => {
const theme = 'dark';
return (
<ThemeContext.Provider value={theme}>
<ChildComponent />
</ThemeContext.Provider>
);
};
- Consume the context in a child component:
const ChildComponent = () => {
const theme = useContext(ThemeContext);
return <div>Current theme: {theme}</div>;
};
When to Use Context API:
- Global State: Useful for sharing state that needs to be accessed by many components, such as authentication status, themes, or language settings.
- Avoiding Prop Drilling: Helps avoid passing props through multiple layers of components.
Top comments (0)