useRef ne işe yarar?

useRef, React kütüphanesindeki bir hook'tur ve işlevsel bileşenlerde referansları yönetmemize olanak sağlar. useRef, DOM düğümlerine veya bileşenlere doğrudan erişim sağlamak için kullanılır.


useRef ne işe yarar?

useRef, React kütüphanesinde kullanılan bir hook'tur. useRef, React bileşenlerinde değişkenlerin referansını tutmak için kullanılır. Bu, React uygulamalarında DOM düğümlerine veya diğer değişkenlere erişimi kolaylaştırır.

useRef, komponentler arasında veri veya durumları paylaşmanın yanı sıra bazı ek özellikleri de beraberinde getirir. useRef, bir fonksiyon bileşeni içinde kullanıldığında, ilk render'da oluşturulan referansını korur ve her render sırasında aynı referansa sahip olur. Bu özelliği sayesinde, bir değerin geçmiş değerini tutabilir.

useRef'in bir diğer önemli kullanımı, DOM düğümlerine erişmektir. Bir HTML elementine erişmek ve onunla etkileşimde bulunmak için useRef kullanılabilir. Bir örnek vermek gerekirse, bir butona tıkladığınızda bir elementin rengini değiştirebilir veya bir input alanında otomatik odaklanma sağlayabilirsiniz.

useRef, genellikle bir değerin güncellenmesi durumunda bileşenin yeniden render olmasını istemediğimiz durumlarda kullanılır. Örneğin, bir değeri tutmak istediğimizde ama bu değerlerin bileşenin state'inde yer almasını istemiyoruz.

Bir başka önemli nokta da useRef'in temelde state değil, mutable bir değer döndürmesidir. State, bir değerin güncellenmesini ve bileşenin yeniden render edilmesini tetiklerken, useRef ile tutulan değer değiştirilebilir ve bileşenin tekrar render edilmesine neden olmaz. Bu, performans açısından büyük bir avantaj sağlar.

useRef örneğini daha iyi anlamak için aşağıdaki kod parçasına göz atalım:

import React, { useRef } from 'react';

function ExampleComponent() {

 const inputRef = useRef();

 const handleClick = () => {

  inputRef.current.value = "Yeni değer";

 };

 return (

  <div>

   <input ref={inputRef} />

   <button onClick={handleClick}>Düğmeye tıkla</button>

  </div>

 );

}

Yukarıdaki örnekte, useRef ile oluşturulan inputRef değişkeni, input alanına referans olarak atanır ve butona tıklandığında handleClick fonksiyonu çalışır. Bu fonksiyonda, input alanının değeri Yeni değer olarak değiştirilir.

useRef, React projenizde daha fazla esneklik sağlar ve kodunuzda değişkenlerin referansını güvenli bir şekilde saklamanızı sağlar. Ayrıca useRef, React'ta yaşam döngüsü ve render sırasında meydana gelen değişikliklerden etkilenmeyen değişkenlerin tutulmasına olanak tanır.

Özetlemek gerekirse, useRef React bileşenlerinde DOM düğümlerine erişmek, geçmiş değerleri takip etmek veya performans açısından daha iyi bir seçenek oluşturmak için kullanılan bir hook'tur. useRef kullanmanız, kodunuzu daha modüler hale getirmenize ve React uygulamalarınızda daha fazla özelleştirme yapmanıza yardımcı olacaktır.


Sıkça Sorulan Sorular

1. useRef ne işe yarar?

useRef, React işlev bileşenlerinde referansları depolamak ve erişmek için kullanılan bir kancadır. useRef ile oluşturulan referanslar, bileşenin yeniden render edildiğinde değişmezler. Bu nedenle, referansları güncellemek için kullanılabilir.

2. useRef nasıl kullanılır?

useRef kancası, bir değeri bir referansla depolamanızı sağlar. İlk olarak useRef'i import edin, ardından bir değeri referansla oluşturun ve istediğiniz yerde kullanın.

Örnek olarak:

import React, { useRef } from "react"; function ExampleComponent() { const inputRef = useRef(null); const handleClick = () => { inputRef.current.focus(); }; return (
); }
3. useRef ile bir değeri nasıl güncellerim?

useRef ile bir değeri güncellemek için ref.current özelliğini kullanabilirsiniz. useRef ile oluşturulan referansın current özelliği, referansın depoladığı değeri temsil eder.

Örnek olarak:

import React, { useRef, useEffect } from "react"; function ExampleComponent() { const counterRef = useRef(0); useEffect(() => { counterRef.current += 1; console.log(counterRef.current); }, []); return
Counter: {counterRef.current}
; }
4. useRef ve useState arasındaki fark nedir?

useRef ile useState arasındaki temel fark, useRef'in değerleri güncellemek için kullanılması ve bu güncellemelerin yeniden render edilme sinyali vermemesidir. Diğer yandan, useState, bileşeni yeniden render etmek için değer güncellemelerine neden olan bir kancadır.

useState örneği:

import React, { useState } from "react"; function ExampleComponent() { const [counter, setCounter] = useState(0); const handleClick = () => { setCounter(counter + 1); }; return (
Counter: {counter}
); }
5. useRef neden kullanılır?

useRef, React bileşenlerinde yan etkileri ve referansları yönetmek için kullanılır. Ayrıca, DOM üzerindeki elementlere veya diğer bileşenlere erişmek için de kullanılabilir. useRef ayrıca, bir bileşenin bir önceki değerini hatırlayabilmesini sağlamak için kullanılabilir.