⊗jsrtPmHkURD 13 of 47 menu

React'ta DOM için useRef Kancasının Kullanımı

Önceki derslerden birinde, ref'lerin en yaygın olarak DOM elemanlarına erişmek için kullanıldığından bahsetmiştik.

Ref'ler, örneğin bir elemana odaklanmanız, kaydırma yapmanız veya boyutlarını ve konumunu hesaplamanız ya da bazı metodlarını veya özelliklerini kullanmanız gerektiğinde imdadınıza yetişecek, çünkü bu tür şeyler için React'ta yerleşik metodlar yoktur.

Bir input örneği üzerinden bunun nasıl yapıldığına bakalım. Bir input ve buton içeren bir bileşen oluşturalım:

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

Öncelikle, bileşene useRef'i içe aktaralım:

import { useRef } from 'react';

Ve bileşende bir ref ref oluşturalım. Onu null değeriyle başlatalım:

const ref = useRef(null);

Butona bir tıklama işleyicisi ekleyelim:

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

Inputa erişebilmek için, ref'imiz ref'i inputun ref özniteliğine yazalım. Böylece, React bu input için DOM düğümünü oluşturduğunda, ona olan bağlantıyı ref.current içine koyacak ve biz inputun metodlarını kullanabileceğiz:

<input ref={ref} />

Ve son olarak, butona tıklandığında inputa odaklanılması için tıklama işleme fonksiyonunu ekleyelim. Artık bunu, içinde inputumuza referans bulunan ref aracılığıyla, onun focus metoduna erişerek yapabiliriz:

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

Butona tıklayın ve inputa odaklanıldığından emin olun.

Bu derste yazdığımız App bileşeninin kodunu alın ve butona tıklandığında inputta odaklanmanın yanı sıra giriş alanının da temizlenmesini sağlayın. Bunun için inputun value özelliğini kullanın.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet