FrontEnd Developer Road Map

Redux with React 2023 7 – useDispatch Hook Kullanımı

Merhabalar.

Bu yazımda, oluşturduğum store’daki state‘i değerlerini güncellemeyi göreceğiz.

Bunun için useDispatch Hook’unu kullanacağız.

useDispatch hook’u, React Redux kütüphanesindeki bir hook’tur ve Redux store’a eylemleri göndermek için kullanılır. Bu hook, bileşen içindeki bir fonksiyon aracılığıyla Redux store’a eylem göndermeyi sağlar.

Genel kullanımı şu şekildedir:

import { useDispatch } from 'react-redux';

// ...

const dispatch = useDispatch();

Bu hook’u kullanarak, bir eylemi tetiklemek için dispatch fonksiyonunu çağırabilirsiniz. Örneğin, bir “INCREMENT” eylemini tetiklemek için:

dispatch({ type: 'INCREMENT' });

Bu, Redux store’a “INCREMENT” türündeki bir eylemi gönderir. Redux store, bu eylemi ele alacak olan ilgili reducer’ı çalıştırır ve durumu günceller.

Genellikle bu hook, bir olayın gerçekleştiği bir kullanıcı etkileşimi veya diğer bileşen içi olaylar sırasında Redux store’a eylem göndermek için kullanılır.

const handleIncrement = () => {
  dispatch({ type: 'INCREMENT' });
};

Bu örnekte, handleIncrement fonksiyonu çağrıldığında, Redux store’a “INCREMENT” türündeki bir eylem gönderilir.

useDispatch hook’u, Redux eylemlerini bileşen içinde kullanılabilir ve bu sayede bileşenin durumu Redux store ile etkileşimde bulunabilir.

Kendi projemize bakalım şimdi.

Import useDispatch

import { useSelector, useDispatch } from 'react-redux';

Dispatch Objesini Oluştur

const dispatch = useDispatch();

Butonların onClick olaylarına ayrı ayrı aşağıdaki fonksiyonları tanımlayacağız.

<button onClick={incrementHandler}>
                    Increase
                </button>
                <button onClick={decrementHandler}>
                    Decrease
                </button>

Bu iki fonksiyonu oluşturup store’a bağlanıp değişimlerin gerçekleşmesini sağlayacağım.

const incrementHandler = () => {

        dispatch({ type: 'INCREMENT' });

    }

    const decrementHandler = () => {

        dispatch({ type: 'DECREMENT' });

    }

Store’daki değeri değiştirmek için tanımladığım dispatch fonksiyonuna bir obje göndereceğim. Bu objenin type değerine hangi işlemi yaptırmak istiyorsak onun bilgisini geçip gönderiyoruz.

Kodlarımızın Tamamı

Counter.jsx

import React, { useState } from 'react';
import { useSelector, useDispatch } from 'react-redux';
import './Counter.css';

function Counter() {
    const counter = useSelector(state => state.counter);
    const dispatch = useDispatch();

    const incrementHandler = () => {

        dispatch({ type: 'INCREMENT' });

    }

    const decrementHandler = () => {

        dispatch({ type: 'DECREMENT' });

    }


    return (
        <div className="counter">
            <h1>Counter: {counter}</h1>
            <div className="button-container">
                <button onClick={incrementHandler}>
                    Increase
                </button>
                <button onClick={decrementHandler}>
                    Decrease
                </button>
            </div>
        </div>
    );
}

export default Counter;

Uygulama Test

Her şey istediğimiz gibi.

Bir sonraki yazımda, butonlara basınca değerin 1’er 1’er artıp azalmasını değil de payload değişkeni ile gönderdiğim değerlerle işlem yapmasına bakacağız.

Görüşmek üzere.

Murat Bilginer

21 Şubat 1992'de doğdum. Endüstri Mühendisi olarak lisansımı 2016 yılında tamamladım. Industryolog Akademi - NGenius oluşumlarının kurucusuyum. Şu anda kendi şirketim Brainy Tech ile Web ve Mobil Geliştirme, AWS, Google Cloud Platform Sistemleri için DevOps, Big Data Analiz ve Görselleştirme hizmetleri sunmakta ve Online Eğitimler vermekteyiz.

Share
Published by
Murat Bilginer

Recent Posts

Kedimiz Oly & FIP Süreci 11 – Oly Melek Oldu :'( Veda…

Hüzünlü bir selam. Bu yazı dizisine başlarken büyük umutlarım vardı. Oly’nin FIP durumunu erken teşhis…

3 gün ago

Kedimiz Oly & FIP Süreci 10 – Oly’nin PCR Sonucu Çıktı FCov Pozitif…

Selamlar, bu yazımda sizlere Oly’nin çıkan PCR sonucu ve geçtiğimiz bir haftada hastalığın genel seyrinden…

6 gün ago

Kedimiz Oly & FIP Süreci 9 – 1 Haftalık GS İğnesi Serüveni – Oly İyileşiyor mu?

Selamlar, bu yazımda Oly'nin 1 hafta boyunca olduğu GS iğnesi, yaşanan değişimleri anlatmaya çalışacağım. PCR…

1 hafta ago

Kedimiz Oly & FIP Süreci 8 – Yeniden Hayvan Hastanesi – Sonuç Kontrolü ve Sonrası…

Selamlar, bu yazımda Hemogram ve Biyokimya sonuçlarımızı göstermek için İÜCHH'ne tekrar gidişimizi ve sonrasını anlatacağım.…

1 hafta ago

Kedimiz Oly & FIP Süreci 7 – GS İğnesine Başlama Kararımız ve Oly’de Dikkat Ettiklerimiz

Selamlar, bu yazımda GS iğnesine başlama kararımızı ve Oly’de bu süreçte nelere dikkat ediyor, neler…

1 hafta ago

Kedimiz Oly & FIP Süreci 6 – İstanbul Üniversitesi Cerrahpaşa Hayvan Hastanesi Serüveni ve Sonrası

Selamlar, bu yazımda İÜCHH'deki tedavi sürecimiz ve sonrasında yaşananlardan bahsetmeye çalışacağım. 20.06.2025 Cuma günü saat…

2 hafta ago