FrontEnd Developer Road Map

React Tutorial 2023 52 – useContext Hook’u 6 – Birden Fazla useContext Oluşturma

Merhabalar.

Bir önceki yazımda bıraktığımız yerden devam ediyoruz. Amacımız birden fazla Context oluşturup bunu nasıl kullanabilirdik buna bakacağız.

UserNameContext.jsx isminde Context klasörü içinde bir dosya oluşturuyorum. Amacım diğer component’lere UserName’i gönderebilmek.

Kodlarımız aşağıdaki gibi olacak. Diğer yazımdakinden çok farkı yok sadece index.js de sarmalama yöntemini göreceksiniz.

UserNameContext.jsx

import React, { createContext, useState } from 'react';

export const UserNameContext = createContext();

export const UserNameProvider = ({ children }) => {
  const [userName, setUserName] = useState('Murat Bilginer');

  return (
    <UserNameContext.Provider value={{ userName, setUserName }}>
      {children}
    </UserNameContext.Provider>
  );
};

Theme.jsx

import React, { Fragment, useContext } from 'react';
import './Theme.css';
import { ThemeContext } from '../../Context/ThemeContext';
import { UserNameContext } from '../../Context/UserNameContext';

const Theme = () => {
    const { theme, setTheme } = useContext(ThemeContext);
    const { userName, setUserName } = useContext(UserNameContext);

    const changeTheme = () => {
        // Toggle between 'light' and 'dark' theme
        setTheme(theme === 'light' ? 'dark' : 'light');
    };

    return (

        <Fragment>
            <header className={`${theme}`}>
                <nav>
                    <div className="logo">BrainTech</div>
                    <ul>
                        <li>Home</li>
                        <li>Products</li>
                        <li>About</li>
                        <li>Contact</li>
                    </ul>
                    <button onClick={changeTheme}>🌙</button>
                </nav>
            </header>

            <div className={`hero ${theme}`}>
                <h1>Hello {userName}</h1>
                <h1>Welcome to our Technology Company</h1>
                <p>We provide high quality tech solutions for your business.</p>
            </div>

        </Fragment>
    );
};

export default Theme

userName ile alakalı context kullanımları Theme.jsx içinde aşağıdaki gibi.

import { UserNameContext } from '../../Context/UserNameContext';

const { userName, setUserName } = useContext(UserNameContext);

<div className={`hero ${theme}`}>
                <h1>Hello {userName}</h1>
                <h1>Welcome to our Technology Company</h1>
                <p>We provide high quality tech solutions for your business.</p>
            </div>

index.js

Birden fazla context kullanıldığında aşağıdaki gibi içe içe sarmalama yapılır. En altta ana component yani App kalır.

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import { ThemeProvider } from './Context/ThemeContext';
import { UserNameProvider } from './Context/UserNameContext';

const root = document.getElementById('root');

ReactDOM.createRoot(root).render(
  <ThemeProvider>
    <UserNameProvider>
      <App />
    </UserNameProvider>
  </ThemeProvider>
);

Uygulama Test


Başarılı şekilde işlemim gerçekleşti.

Bir sonraki yazımda 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 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…

2 gün 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.…

2 gün 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…

2 gün 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…

3 gün ago

Kedimiz Oly & FIP Süreci 5 – Teşhisten Önce Biz… Veterinerimize Güvenebilir Miydik?

Eve Dönüş ve İlk Şüpheler 18 Haziran Perşembe saat 23 sularında İstanbul’daki evimize giriş yaptık.…

4 gün ago

Kedimiz Oly & FIP Süreci 4 – Antalya’ya Yolculuk – Bir Şeyler Ters Gidiyor… & İstanbul’a Geri Dönüş

9 Haziran Pazartesi günü Aydın’daki sürecimiz bitti ve Antalya yolculuğumuz başladı. Saat 11 gibi yola…

4 gün ago