UseContext adalah sebuah hook yang memungkinkan kita untuk berbagi data antara komponen tanpa melalui prop drilling. Prop drilling terjadi ketika data harus dilewatkan melalui beberapa lapisan komponen untuk mencapai komponen yang membutuhkan data tersebut. Ini bisa sangat merepotkan dan tidak efisien.
Dengan useContext, kita bisa membuat data global dan membuatnya tersedia di seluruh komponen dalam aplikasi kita. Jadi, ketika kita memiliki data yang harus diakses oleh banyak komponen, useContext adalah solusi terbaik.
Cara Menggunakan UseContext di React
Untuk menggunakan useContext, pertama-tama kita perlu membuat konteks. Konteks adalah tempat di mana kita akan menyimpan data yang ingin kita bagikan di antara komponen. Untuk membuat konteks, kita bisa menggunakan createContext() seperti di bawah ini:
import React from 'react';
const MyContext = React.createContext();
Selanjutnya, kita akan membuat provider untuk konteks kita. Provider adalah komponen React yang menentukan nilai konteks untuk setiap komponen yang diturunkan di bawahnya. Misalnya:
import React from 'react';
const MyContext = React.createContext();
function MyProvider(props) {
return (
<MyContext.Provider value={/* nilai konteks */}>
{props.children}
</MyContext.Provider>
);
}
Di dalam nilai value, kita bisa menentukan nilai yang ingin kita bagikan ke seluruh komponen di dalam provider kita. Kemudian, kita dapat menempatkan semua komponen kita di bawah provider seperti di bawah ini:
<MyProvider>
<ComponentA />
<ComponentB />
<ComponentC />
</MyProvider>
Sekarang, semua komponen di dalam provider dapat mengakses nilai konteks kita. Untuk melakukannya, kita hanya perlu menggunakan useContext di dalam komponen kita seperti di bawah ini:
import React, { useContext } from 'react';
import MyContext from './MyContext';
function ComponentA() {
const data = useContext(MyContext);
return (
// tampilkan data di sini
);
}
Dalam contoh di atas, kita mengimpor MyContext dan menggunakan hook useContext untuk mengambil nilai konteks yang disimpan di dalam MyProvider.
Kesimpulan
UseContext adalah hook yang sangat berguna di React karena memungkinkan kita untuk berbagi data antara komponen dengan cara yang efektif dan efisien.
Dalam artikel ini, kita telah mempelajari cara menggunakan useContext dan membuat konteks dan provider.
Dengan menggunakan useContext, kita dapat menghindari prop drilling dan membuat aplikasi React kita lebih efisien dan mudah dikelola.