Apa itu react hook dan bagaimana cara kerjanya?
Tinggalkan pesan
Hai! Sebagai pemasok kait, saya sangat senang berbicara tentang react hooks hari ini. React Hooks telah menjadi permainan - pengubah di dunia pengembangan bereaksi, dan saya pikir sangat keren untuk memahami cara kerjanya. Jadi, mari selami!
Apa itu react hooks?
Hal pertama yang pertama, apa react hooks? Nah, react hook adalah fungsi yang memungkinkan Anda "menghubungkan" reaksi keadaan dan fitur siklus hidup dari komponen fungsi. Sebelum kait datang, jika Anda ingin menggunakan status atau fitur React lainnya dalam suatu komponen, Anda harus menggunakan komponen kelas. Tetapi dengan kait, Anda dapat melakukan semua itu dalam komponen fungsi, yang jauh lebih mudah dan lebih mudah dikelola.
Pikirkan pengait sebagai alat kecil yang dapat Anda ambil dan gunakan dalam komponen fungsi React Anda. Mereka memberi Anda akses ke hal -hal seperti manajemen negara, efek samping (seperti pengambilan data atau berlangganan acara), dan fitur reaksi lainnya tanpa harus menulis kelas.
Salah satu kait yang paling mendasar dan umum digunakan adalahUSStatekait. Ini memungkinkan Anda untuk menambahkan status ke komponen fungsi. Katakanlah Anda sedang membangun aplikasi counter sederhana. DenganUSState, Anda dapat mengelola nilai hitungan tepat di komponen fungsi Anda.
impor bereaksi, {usestate} dari 'react'; function counter () {const [count, setCount] = usestate (0); return (<div> <p> Anda mengklik {count} kali </p> <tombol onclick = {() => setCount (count + 1)}> klik saya </button> </div>); } ekspor penghitung default;
Dalam contoh ini,USStateadalah kait yang mengambil nilai awal (dalam hal ini,0) dan mengembalikan array dengan dua elemen. Elemen pertama (menghitung) adalah nilai keadaan saat ini, dan elemen kedua (setCount) adalah fungsi yang dapat Anda gunakan untuk memperbarui keadaan.
Bagaimana cara kerja reaksi kerja?
Sekarang, mari kita gali bagaimana kait ini benar -benar bekerja. React Hooks mengandalkan beberapa aturan penting.
Aturan 1: Hanya hook panggilan di level atas
Anda tidak dapat memanggil kait di dalam loop, kondisi, atau fungsi bersarang. Pengait perlu dipanggil dalam urutan yang sama persis setiap kali komponen diterjemahkan. React melacak kait yang Anda panggil dalam komponen, dan jika Anda memanggilnya rusak, itu dapat menyebabkan beberapa bug yang sangat aneh.
Misalnya, ini buruk:
function badcomponent (props) {if (props.isvisible) {// buruk! Ini melanggar aturan konstan [nilai, setValue] = usestate ('default'); return <div> {value} </div>; } return null; }
Dan ini bagus:
fungsi goodComponent (props) {const [value, setValue] = usestate ('default'); if (props.isvisible) {return <div> {value} </div>; } return null; }
Aturan 2: Hanya hook panggilan dari fungsi bereaksi
Anda hanya dapat memanggil kait dari komponen fungsi React atau kait khusus. Anda tidak dapat menghubungi mereka dari fungsi JavaScript biasa. Ini memastikan bahwa kait digunakan dalam konteks komponen reaksi.
Berbagai jenis kait bereaksi
Ada beberapa kait yang dibangun di React, dan masing -masing melayani tujuan yang berbeda.
Menggunakan efek
ItuMenggunakan efekHook digunakan untuk efek samping dalam suatu komponen. Sisi - Efek adalah hal -hal seperti pengambilan data, menyiapkan langganan, atau mengubah DOM secara manual dalam komponen React.
impor bereaksi, {usestate, useeffect} dari 'react'; fungsi dataFetcher () {const [data, setData] = usestate (null); UseEffect (() => {// Simulasi data fetching fetch ('https://api.example.com/data') .then (respons => response.json ()) .then (data => setData (data)); // Fungsi pembersihan () => {// Ini akan berjalan ketika component (data)); // Fungsi pembersihan () => {// Ini akan berjalan ketika component (data)); // cleanup function () => {// Ini akan berjalan ketika component (data))); return (<div> {data? <p> {data.message} </p>: <p> Memuat ... </p>} </div>); } ekspor DataFetcher default;
Dalam contoh ini,Menggunakan efekHook berjalan setelah setiap render secara default. Tetapi jika Anda melewati array kosong sebagai argumen kedua, itu hanya akan berjalan sekali, mirip denganComponentDidMountdalam komponen kelas. Fungsi pembersihan opsional digunakan untuk membersihkan sumber daya apa pun yang diatur dalam efek, seperti membatalkan langganan.
Usecontext
ItuUsecontextHook memungkinkan Anda untuk mengakses konteks dalam komponen fungsi. Konteks adalah cara untuk melewati data melalui pohon komponen tanpa harus meneruskan alat peraga secara manual di setiap level.
impor bereaksi, {createContext, usecontext} dari 'react'; const mycontext = createContext (); function parent () {return (<mycontext.provider value = "hello from context"> <child /> </mycontext.provider>); } function child () {const ContextValue = usecontext (myContext); return <p> {ContextValue} </p>; } ekspor induk default;
Dalam contoh ini,Indukkomponen memberikan nilai pada konteks, danAnakKomponen dapat mengakses nilai itu menggunakanUsecontextkait.
Kait khusus
Sebagai pemasok pengait, saya juga ingin menyebutkan kait khusus. Kait khusus adalah cara yang bagus untuk menggunakan kembali logika stateful antara komponen. Anda dapat membuat kait Anda sendiri dengan mengekstraksi Hook - Logika Terkait ke dalam fungsi terpisah.
Katakanlah Anda memiliki beberapa komponen yang perlu mengambil data dari API. Anda dapat membuat kait khusus untuk itu.
impor bereaksi, {usestate, useeffect} dari 'react'; Fungsi UsedataFetching (url) {const [data, setData] = usestate (null); const [memuat, setloading] = usestate (true); useEffect (() => {setloading (true); fetch (url) .then (response => response.json ()) .then (data => {setData (data); setloading (false);});}, [url]); return {data, muat}; } function componenta () {const {data, memuat} = everatafetching ('https://api.example.com/dataa'); return (<dv> {memuat? <p> Memuat ... </p>: <p> {data.message} </p>} </div>); } function componentB () {const {data, memuat} = everatafetching ('https://api.example.com/datab'); return (<dv> {memuat? <p> Memuat ... </p>: <p> {data.message} </p>} </div>); }
Dalam contoh ini,UsedatafetchingKait khusus merangkum logika untuk mengambil data dari API. KeduanyamenggabungkanDanKomponenbDapat menggunakan kait khusus ini untuk mengambil data yang berbeda.
Produk Hook kami
Sekarang, sebagai pemasok pengait, saya juga ingin memberi tahu Anda tentang beberapa produk kait kami yang luar biasa. Kami memiliki berbagai macam kait untuk aplikasi yang berbeda. Misalnya, kamiKait dereksangat cocok untuk menarik beban berat. Ini terbuat dari bahan berkualitas tinggi dan sangat tahan lama.
Jika Anda membutuhkan kait yang dapat berputar dan mudah patah, kamiSnap putar j hookadalah pilihan yang bagus. Ini sangat fleksibel dan dapat digunakan dalam banyak skenario yang berbeda.
Dan bagi mereka yang membutuhkan kait berbentuk J datar untuk aksesori, kamiAksesori logam datar j hookadalah apa yang Anda cari. Ini kuat dan dapat menampung berbagai aksesori dengan aman.
Kesimpulan dan ajakan bertindak
React Hooks adalah tambahan yang luar biasa untuk ekosistem React. Mereka membuatnya lebih mudah untuk menulis dan mengelola komponen fungsi, dan mereka memberikan cara yang lebih intuitif untuk menangani status dan efek samping. Apakah Anda seorang pemula atau pengembang bereaksi yang berpengalaman, memahami dan menggunakan kait dapat benar -benar meningkatkan keterampilan pengembangan Anda.


Jika Anda tertarik dengan produk Hook kami, kami ingin mengobrol dengan Anda. Apakah Anda sedang mencari satu kait atau membutuhkan pesanan curah, kami di sini untuk membantu. Jangkau saja kami, dan kami akan dengan senang hati mendiskusikan kebutuhan Anda dan memberi Anda solusi terbaik.
Referensi
- Bereaksi dokumentasi resmi
- Berbagai tutorial dan blog reaksi online






