This example shows how to create a context for language settings, provide it to components, and update it from a child component.
import React, { createContext, useState, useContext } from 'react';
// 1. Create context with default value
const LanguageContext = createContext('English');
// 2. Create a provider component
function LanguageProvider({ children }) {
const [language, setLanguage] = useState('English');
return (
<LanguageContext.Provider value={{ language, setLanguage }}>
{children}
</LanguageContext.Provider>
);
}
// 3. Create a component that uses the context
function LanguageSwitcher() {
const { language, setLanguage } = useContext(LanguageContext);
return (
<div>
<p>Current language: {language}</p>
<button onClick={() => setLanguage('Spanish')}>Switch to Spanish</button>
<button onClick={() => setLanguage('English')}>Switch to English</button>
</div>
);
}
// 4. Use provider at top level
export default function App() {
return (
<LanguageProvider>
<LanguageSwitcher />
</LanguageProvider>
);
}