2024-01-05•9 menit baca
Mengelola State di React: Panduan Lengkap
ReactState ManagementFrontend
Bandingkan cara mengelola state di React dan pelajari kapan menggunakan masing-masing pendekatan.
Mengelola State di React: Panduan Lengkap
Memilih cara mengelola state yang sesuai penting bagi aplikasi React. Mari lihat pilihannya.
State Lokal
Untuk state sederhana pada satu komponen, gunakan useState:
function Counter() {
const [count, setCount] = useState(0);
return <button onClick={() => setCount(c => c + 1)}>{count}</button>;
}
State dari Server
Untuk data yang berasal dari API, gunakan React Query atau SWR:
function UserProfile({ userId }) {
const { data, isLoading } = useQuery({
queryKey: ['user', userId],
queryFn: () => fetchUser(userId)
});
if (isLoading) return <Spinner />;
return <div>{data.name}</div>;
}
State Global
Untuk state yang dipakai lintas komponen, pertimbangkan pendekatan berikut.
Zustand
Zustand menyediakan store kecil yang dapat dibagikan:
const useStore = create((set) => ({
count: 0,
increment: () => set((s) => ({ count: s.count + 1 }))
}));
// Usage
function Counter() {
const { count, increment } = useStore();
return <button onClick={increment}>{count}</button>;
}
Context API
Context API cocok untuk state global sederhana tanpa library tambahan.
Kapan Menggunakan Apa?
| Kebutuhan | Solusi |
|---|---|
| Khusus satu komponen | useState |
| Data dari server | React Query/SWR |
| Global sederhana | Context |
| Global yang kompleks | Zustand/Redux |
Kesimpulan
Mulailah dari pendekatan sederhana. Tambahkan kompleksitas hanya ketika benar-benar dibutuhkan.