⊗jsrtPmHkURD 13 of 47 menu

Penerapan Hook useRef untuk DOM di React

Pada salah satu pelajaran sebelumnya, kami menyebutkan, bahwa ref paling sering digunakan untuk mengakses elemen DOM.

Ref akan datang untuk menyelamatkan ketika Anda, contohnya, perlu memfokuskan pada elemen, melakukan scroll atau menghitung ukurannya dan posisi, atau mungkin menggunakan beberapa metode atau propertinya, karena untuk hal-hal seperti itu di React tidak ada metode bawaan.

Mari kita lihat contoh dengan input, bagaimana hal itu dilakukan. Mari buat komponen dengan input dan tombol:

return ( <div> <input /> <button>focus</button> </div> );

Pertama-tama, impor ke dalam komponen useRef:

import { useRef } from 'react';

Dan buatlah ref ref dalam komponen. Inisialisasi dengan nilai null:

const ref = useRef(null);

Pasang pada tombol handler klik:

<button onClick={handleClick}>focus</button>

Untuk memiliki akses ke input, tulis ref ref kita ke dalam atribut ref input. Dengan demikian, ketika React membuat DOM node untuk input ini, dia akan menaruh referensi ke dalamnya di ref.current dan kita akan dapat menggunakan metode input:

<input ref={ref} />

Dan akhirnya, tambahkan fungsi penanganan klik, sehingga ketika tombol diklik, input diarahkan fokus. Sekarang kita bisa melakukannya melalui ref, di mana terdapat referensi ke input kita, dengan mengakses metodenya focus:

function handleClick() { ref.current.focus(); }

Coba tekan tombolnya dan pastikan, bahwa fokus diarahkan ke input.

Ambil kode komponen App, yang kami tulis dalam pelajaran ini dan buatlah sehingga ketika tombol diklik pada input selain pengarahan fokus terjadi juga pembersihan field input. Gunakan untuk ini properti value dari input.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak