Ana içeriğe atla

Mala Anlatır Gibi React — 3: React.memo, useMemo, useCallback

Mala Anlatır Gibi React — 3: React.memo, useMemo, useCallback

React (Resim, 1.)

useMemo, hesaplama açısından maliyetli işlemleri tekrarlamadan kaçınmak için kullanılır. Bir değer veya hesaplama işlemi, bağımlılık olarak belirlenen değişkenler değişmediği sürece önbelleğe alınır. Bu sayede, gereksiz yere tekrar hesaplama yapılmaz ve bileşenin performansı artar.

Nasıl çalışır?

import React, { useMemo } from 'react';
function Ornek({ num }) {
const expensiveComputation = useMemo(() => {
console.log("Başlıyor...");
return num * 2;
}, [num]);
return <div>{expensiveComputation}</div>;
}

useCallback, bir fonksiyonu bağımlılıklarına göre önbelleğe almak için kullanılır. Bu sayede, fonksiyon her render'da yeniden oluşturulmaz. Özellikle, alt bileşenlere prop olarak fonksiyon geçerken faydalıdır, çünkü her render'da yeni bir fonksiyon oluşturulursa, alt bileşenler tekrar render olabilir.

Nasıl çalışır?

import React, { useCallback } from 'react';

function Ornek({ onButtonClick }) {
const handleClick = useCallback(() => {
console.log("Button tıklandı!");
}, [onButtonClick]);
return <button onClick={handleClick}>Click me</button>;
}

Yukarıdaki örnekte, handleClick, onButtonClick değişmediği sürece önbelleğe alınır. Bu, gereksiz render'ları önler ve performansı artırır.

React.memo, bir bileşeni "hafıza"da tutarak, props değişmediği sürece tekrar render olmasını önler. Bu, fonksiyonel bileşenlerin gereksiz yere tekrar render edilmesini engelleyerek performansı artırır.

Nasıl çalışır?

import React from 'react';
const MyComponent = React.memo(function MyComponent({ text }) {
console.log("Render edildi...");
return <div>{text}</div>;
});
function Ornek({ text }) {
return <MyComponent text={text} />;
}

Ornek bileşeni ne kadar render edilirse edilsin, text değişmediği sürece MyComponent tekrar render edilmez. Bu, performansı artırmak için güçlü bir yöntemdir.

Yorumlar

Bu blogdaki popüler yayınlar

Yıldırım Beyazıd ve Emir Timurlenk Savaşı

YILDIRIM BEYAZID VE EMİR TİMUR LENK SAVAŞI Ankara Savaşı (28 Temmuz 1402) Cengiz Han'ın vârisi olma iddiası ile çıkan Emir Timur. Beyazı'dın egemen olmasını kabul etmiyor. Onu küçümsüyor. Timur'un tahtını ele geçirmek için isyan başlatan   ve Timur Hindistan seferinden gelince bizzat kendisi tarafından kovulan Diyarbakır Beyi İlhan Ahmet Celâyir, Osmanlı'ya sığınmıştı. Epey Timur ve Beyazıd'ın arası gergindi. Fakat Timur kendi ırkından, dininden olan Osmanlı’ya saldırmak istemiyordu.   Timur’a tabî olan Mutahharten’ın ailesini Bursa’ya esir olarak gönderen Beyazid ile Timur’un arası açılmıştı.   “ Timur, kendisini sadece dünya üzerinde ulaşabileceği yere kadar hırsını doyurmak için Allah tarafından gönderilen “Allah’ın kulu” olarak değil, Türk halkının da gerçek ve tek temsilcisi olarak görüyordu. Yörüklerin bol paçalı şalvarları içinde, başında yüksek keçe başlığı ile tam bir Türk gibi giyinirdi.. Sarayı’nda sadece Türkçe konuşulur ve Türkçe yazı yazılır

Atsız'ın Atatürk, Kemalizm ve Cumhuriyet Düşmanlığı

  Atsız'ın; Atatürk, Kemalizm ve Cumhuriyet Düşmanlığı. "Başkumandan Mustafa Kemal’i tebcil ederim fakat Reis-i Cumhur  Atatürk’ü beğenmeye de sevmeye de mecbur değilim." (1) CHP'de boş kavga var diyen bir çok Atsız taraftarları, aslında Mustafa Kemal ve Atatürk'ü ayıran Atsızı niye göz ardı ederler?  Atsız Kemalist düşmanı olmak bir yana, Atatürk düşmanıdır. Devrim düşmanıdır. Sözlerine bakınız: "Bu millet, tutsak Türkleri kurtararak en büyük Türkiye'yi (yani Turanı) kurmak için de sınırlara koşabilir. Fakat onların Kemalist prensipleri için kılını bile kıpırdatmaz. Hatta Kemalizm'in çığırtkanları bile Kemalizm uğruna ölmez." (2) Kemâlistleri ve Atatürk'ü "dönme, mason" olduğunu belirtiyor: "Irkçılığın aleyhinde bulunanlar Türkçülüğün düşmanı olan dönmelerle, masonlar ve Halk Partililer yani Kemalistlerden ibarettir." (3) "Çünkü Kemalizm de dönme ve devşirme olmak kabahat değildir. Fakat Kemalizm yapmak isterken mi

Kürtler ve Medler

KÜRTLER VE MEDLER Kürt Tarihçilerin çoğu kendini Medlere dayandırır. Kürt dilinin gelişmesinde Medlerin rol oynadığını söylerler. (Minorsky - Kürtler, İslam Ansiklopedisi, VI. cilt, s. 1089-1114) Ve Medlerin torunlarıdır. (Amir Hassanpour - Kürdistanda Milliyetçilik ve Dil; s. 120.) » Kürtlerin tek kurduğu ulusal devlet olarak Medler İmparatorluğunu kabul ederler. (Wadie Jwaideh - Kürt Miliyetçiliğinin Tarihi , Kökenleri ve Gelişimi, s. 17.) » Ve bazı Kürt Tarihçilerde şöyle savunur: “bütün tarih boyunca Medleri Kürtlerden ayrı gösterecek bir hadise bulamazsınız.." (Zinnar Silopi - Doza Kurdistan; s. 9.) » Medler proto-Kürt’tür. (Philip Kreyenbroek & Christine Allison - Kürt Kimliği ve Kültürü, s. 25.) » “Dolaylı değil doğrudan Kürtlerin Medlerle bağlantıları vardır.” (Ali Hüseyin Kerim - Balkan Yarımadasında Kürtler, s. 49.) Medlerin İmparatorluğunu yıkan, Perslerdi. (William Aegleton - Mehabad Kürt Cumhuriyeti; s. 18.) Ve şunu söylemektedirler: Medler yıkıldık