Memahami Context API
![]() |
sumber: webinlinedev.com |
- React. createContext: Membuat objek Context baru.
- Provider: Menyediakan state ke pohon komponen.
- Konsumen atau useContext Hook: Membaca state yang dibagikan.
Manfaat API Konteks
1. Menghilangkan Pengeboran Props
2. Menyederhanakan Kode dan Meningkatkan Keterbacaan
3. Optimalisasi Kinerja
4. Solusi Bawaan
Cara Menggunakan API Konteks
Langkah 1: Membuat Konteks
import { createContext } from 'react';const ThemeContext = createContext();
Langkah 2: Menyiapkan Komponen Penyedia
import React, { useState } from 'react';import { ThemeContext } from './ThemeContext';const ThemeProvider = ({ children }) => {const [theme, setTheme] = useState('light');return (<ThemeContext.Provider value={{ theme, setTheme }}>{children}</ThemeContext.Provider>);};export default ThemeProvider;
Langkah 3: Menggunakan Konteks
import React, { useContext } from 'react';import { ThemeContext } from './ThemeContext';const ThemeToggler = () => {const { theme, setTheme } = useContext(ThemeContext);return (<button onClick={() => setTheme(theme === 'light' ? 'dark' : 'light')}>Toggle Theme (Current: {theme})</button>);};export default ThemeToggler;
Langkah 4: Membungkus Komponen di dalam Penyedia Konteks
Untuk menerapkan tema kustom, kita perlu membungkus aplikasi atau komponen yang relevan di dalam ThemeProvider.
import React from 'react';
import ReactDOM from 'react-dom';
import ThemeProvider from './ThemeProvider';
import ThemeToggler from './ThemeToggler';
ReactDOM.render(
<ThemeProvider>
<ThemeToggler />
</ThemeProvider>,
document.getElementById('root')
);
Kapan Menggunakan API Konteks
API Konteks sangat bagus untuk mengelola status global seperti:
- Tema dan preferensi UI
- Status autentikasi
- Preferensi dan pengaturan pengguna
- Pelokalan bahasa
Namun, untuk pengelolaan state yang kompleks dan sangat dinamis (misalnya kumpulan data besar, cache, atau pembaruan state yang rumit), pustaka seperti Redux, Recoil, atau Zustand mungkin lebih cocok.
Kesimpulan
API Konteks React menyediakan cara yang asli dan efisien untuk mengelola state global, mengurangi kebutuhan untuk pengeboran prop dan pustaka eksternal. API ini merupakan alat yang sangat baik untuk aplikasi berukuran kecil hingga menengah atau untuk mengelola state global tertentu seperti autentikasi dan tema. Dengan mengintegrasikan Context API ke dalam proyek Anda, Anda dapat menulis aplikasi React yang lebih bersih, lebih mudah dipelihara, dan berkinerja baik.