Back Kembali ke Daftar 📅 27 May 2025

useContext – Theme Switcher (Dark / Light Mode)

Artikel terbaru dari MahirGroups

Deskripsi Proyek:
Aplikasi kecil yang memungkinkan user mengganti tema aplikasi (light / dark) menggunakan context.  

Langkah 1: Buat Context-nya 

// ThemeContext.js
import { createContext } from 'react';

const ThemeContext = createContext();
export default ThemeContext;

Langkah 2: Provider untuk Theme
 jsxCopyEdit// ThemeProvider.js import React, { useState } from 'react'; import ThemeContext from './ThemeContext'; export default function ThemeProvider({ children }) { const [theme, setTheme] = useState('light'); const toggleTheme = () => { setTheme(prev => (prev === 'light' ? 'dark' : 'light')); }; return ( <ThemeContext.Provider value={{ theme, toggleTheme }}> {children} </ThemeContext.Provider> ); } Langkah 3: Konsumsi useContext di Komponen
// App.js import React, { useContext } from 'react'; import ThemeProvider from './ThemeProvider'; import ThemeContext from './ThemeContext'; function ThemedComponent() { const { theme, toggleTheme } = useContext(ThemeContext); const styles = { backgroundColor: theme === 'light' ? '#fff' : '#222', color: theme === 'light' ? '#000' : '#fff', padding: '1rem', textAlign: 'center', }; return ( <div style={styles}> <h1>{theme.toUpperCase()} MODE</h1> <button onClick={toggleTheme}>Toggle Theme</button> </div> ); } export default function App() { return ( <ThemeProvider> <ThemedComponent /> </ThemeProvider> ); } Penjelasan useContext:
  • useContext(ThemeContext) digunakan untuk membaca nilai dari context.
  • Menghindari prop drilling (tidak perlu oper prop theme dan toggleTheme ke banyak komponen secara manual).

Belum Ada Foto Tambahan

Foto galeri tambahan akan muncul di sini setelah diunggah.

Bagikan artikel ini: