⊗jsrtPmHkURD 13 of 47 menu

Reactda DOM bilan ishlash uchun useRef hook'idan foydalanish

Oldingi darslarimizdan birida aytib o'tganimizdek, ref'lar ko'pincha DOM elementlariga kirish uchun qo'llaniladi.

Ref'lar sizga, masalan, elementga fokuslanish, skroll qilish yoki uning o'lchami va joylashuvini hisoblash kerak bo'lganda, yoki uning ba'zi metodlari yoki xususiyatlaridan foydalanish zarurat tug'ilganda yordam beradi, chunki Reactda bunday narsalar uchun o'rnatilgan metodlar mavjud emas.

Keling, buni qanday amalga oshirilishini input misolda ko'rib chiqaylik. Input va tugmadan iborat komponent yaratamiz:

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

Boshlash uchun, komponentga useRef ni import qilamiz:

import { useRef } from 'react';

Va komponentda ref ref'ini yaratamiz. Uni null qiymati bilan ishga tushiramiz:

const ref = useRef(null);

Tugmacha uchun klik handler'ini qo'shamiz:

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

Inputga kirish imkoniyatiga ega bo'lish uchun, ref atributiga ref ref'imizni yozamiz. Shu tarzda, React ushbu input uchun DOM tugunini yaratganda, unga havolani ref.current da joylaydi va biz input metodlaridan foydalana olamiz:

<input ref={ref} />

Va nihoyat, tugmachani bosganda inputga fokus o'tkazish uchun klikni qayta ishlash funksiyasini qo'shamiz. Endi biz buni inputga havola bo'lgan ref orqali, uning focus metodiga murojat qilib amalga oshirishimiz mumkin:

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

Tugmachani bosing va inputga fokus o'tkazilishiga ishonch hosil qiling.

Ushbu darsda yozgan App komponenti kodini oling va tugmacha bosilganda inputda fokus o'tkazish bilan birga kiritish maydonchasi tozalansin. Buning uchun inputning value xususiyatidan foydalaning.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish