Cohorts
  • Discover
  • About Us
  • Blog
  • Patika.dev
  • Web3

React Native

Mobil Programlama
Mobil Uygulama Geliştirme Nedir
Mobil Uygulama Geliştirme Analizi
Mobil Uygulama Geliştirmede UI & UX
Mobil Uygulama Geliştirmede Renkler

React Native Ortamı
React Native Nasıl Çalışır
macOS Kurulumu
Windows Kurulumu
Proje Dizini Genel
Proje Dizini Android
Proje Dizini iOS

React & React Native Temelleri
React Native Temelleri-Bölüm Tanıtımı
JSX Giriş
JSX & React Native Döküman İncelemesi
Component Yapısı
Component Yapısı (Devam)
Stillendirmeye Giriş
Flex Yapısı
Flex Yapısı (Devam)
Custom Component
Custom Component (Devam)
News App
Patistore

State ve Lifecycle
State ve Lifecycle-Bölüm Tanıtımı
State Giriş
State Devam
Lifecycle Giriş
Lifecycle Devam (Declarative State Yapısı)
Lifecycle Devam (Mount)
Lifecycle Devam (Clean up)
Class vs Functional Component
Music App (İnceleme)
Music App
Music App (Devam)
ToDo

Navigasyon
Navigasyon-Bölüm Tanıtımı
React Navigation Paketinin İncelenmesi
React Navigation Paket Kurulumu
React Navigation Paketine Başlangıç
Sayfalar Arası Geçiş
Sayfa Geçişlerinde Veri Aktarma
Kebap Fitness App
Tab & Drawer Navigator Modülleri
Nested Navigation Yapısı

Web API-Bölüm Tanıtımı
Web API nedir?
JSON Veri Tipi
Axios paketi ile HTTP Request
Promise Çözümleme (then&catch)
Promise Çözümleme (async&await)
Çekilen Veriyi Görüntüleme
Dükkan (Veri çekme ve tasarım )
Dükkan (Custom Hook yapısı)
Dükkan (Lottie paketi ile animasyonlar)
Dükkan (Detay sayfası)
Tarifka

State Management (Redux)
State Management nedir?
Redux ile State Management Temelleri
Redux Detayları ve Tekrar
Mevcut Bir Yapıya Redux Entegrasyonu
Dükkan (Login Tasarımı)
Dükkan (Formik)
Dükkan (Vector Icons)
Dükkan (usePost Custom Hooku)
Dükkan (Redux Yapısı)
Dükkan (Logout)
kodwork

Firebase Tanıtımı ve Kurulumu
Firebase Auth Modülü
Firebase Realtime DB
Firebase Realtime DB (Devam)
bana ne? (Generic Style)
bana ne? (Auth sayfaları)
bana ne? (Auth işlemleri)
bana ne? (Content Input componenti)
bana ne? (Content göndermek)
bana ne? (Content çekmek)
bana ne? (Log out işlemleri)
bana ne? (Dislike??)
bana ne? (Uygulamayı tamamlayış)
Codetalks

Uygulama İcon Değiştirme (Android)
Uygulama İcon Değiştirme (iOS)
Uygulama Release Alma (Android)
Uygulama Release Alma (iOS)
Uygulama Mağazası (App Store Connect)
Uygulama Mağazası (Google Play Console)

Test Nedir? Neden Yazılır?
İlk Testimizi Yazalım
Fonksiyon Test Etme
Örnek-Stil Testi
Uygulamanın Genel Testi
Coverage

GCP ve API Key Alma
Maps Paketinin Yüklenmesi
Harita Verisinin Çekilmesi
Loading Componenti
Markerleri Görüntüleme
useRef Hook'u ve Zoom İşlemi
User Card Modal Eklentisi

Proje Raporu Nedir
Örnek Proje Raporu Çıkarma

State ve Lifecycle


State


React ortamında tanımlanan değişkenlere state adı verilir.


Componentlerin belirli bir yaşam döngüleri vardır. Ekrana basılan herhangi bir component ne zaman yenilenmesi gerektiğini yaşam döngüsünün tetiklemelerine göre belirler. Herhangi bir T anında hiç bir değişikliğe uğramamış bir component kendini yenilemez.


Biz bu değişimleri tetiklemediğimiz sürece.


Mesela;


    <Vehicles>
      <Bikes />
      <Cars />
  </Vehicles>


Vehicles componenti Bikes ve Cars componentlerini barındırıyor. Bikes componenti kendi içinde bir yenileme gerçekleştirdi diyelim. Yani görsel olan/olmayan bir değişiklik yaşadı. Cars bundan etkilenmeyeceği için kendini yenilemeyecektir. Bu React'ın ana prensibidir. Her component gerektiği zaman değişikliğe uğramalıdır.


Peki yenilemekten kasıt ne?


Bir component içerisinde


const App = () => {
    let number = 0;

    return(
        <View><Text>{number}</Text>
        <Button title="Update" onPress={() => number++}>
            </View>
       )
  }
        


şu şekilde bir değişken tanımladık diyelim.


Biz butonu ne kadar tetiklersek tetikleyelim number değişkeninin güncellendiğini ekranda göremeyeceğiz. Değişken güncelleniyor mu? Evet. Ama ekranda görüntülemek için

componentin yenilenmesi gerekiyor. Yani güncel değerlerle ekrana yeniden yazdırılması gerekiyor.


İşte bu noktada devreye state yapıları giriyor.


const App = () => {
    const [number, setNumber] = React.useState(0);

    return(
        <View>
            <Text>{number}</Text>
            <Button title="Update" onPress={() => setNumber(number + 1)}>
        </View>
    )
}


Ben ne zaman butonu tetiklersem number değerinin birer birer arttığını görüntüleyebiliyorum. Çünkü useState benim için özel bir fonksiyon, bir hook. Öyle bir fonksiyon ki ben o fonksiyondan dönen number değerini setNumber ile güncellediğimde, bu değişikliği componentte bildiriyor, yeni değerler ile kendini yeniden derle diyor.


Haliyle ben number'ı 5'ten 6'ya çıkardığımda;


        <View>              ==>    <View>
        <Text>5</Text>  ==>        <Text>6</Text>
            ..              ==>        ..
            ..              ==>        ..
        </View>             ==>    </View>


şu şekilde bir güncelleme yapmış oluyorum. Bana bu componenti yeni değerleri ile ekrana bas demiş oluyorum.


State'ler bu değişiklikleri tetikleyebilen özel yapılardır.


Lifecycle


Her componentin bir yaşam süreci vardır. Doğar, yaşar ve ölür. Biz geliştirme sürecinde bu componentlerin yaşam evrelerini yönetiriz.


Örneğin bir componentin oluşturulduğu anda bir endpoint'ten veri çekmesini isteyebiliriz ya da kaldırıldığı, yok edildiği anda bir işlem gerçekleştirmesini isteyebiliriz. İşte React bize bu evrelerde kullanabileceğimiz özel yapıları sunuyor.


Functional componentlarda yaşam evrelerinde büyük rol oynayan hook useEffect hooku dur.


1.007


1.008


🔧


  • https://www.youtube.com/watch?v=4ORZ1GmjaMc
  • https://www.youtube.com/watch?v=Zz9pLellSQA
  • https://www.youtube.com/watch?v=Oioo0IdoEls
Previous
Next

Lesson discussion

Swap insights and ask questions about “React Native”.

Enroll to participate
Start the course to unlock the discussion. Enrolling helps us keep conversations relevant to learners.
Cohorts
WebsiteDiscoverBlogPatika.devRise In
CoursesCircleRustSoliditySolanaWeb3 FundamentalsBlockchain Basics
CompanyAbout UsTerms of UsePrivacy PolicyGDPR NoticeCookies
Don't miss any update!

Disclaimer: The information, programs, and events provided on https://cohorts.patika.dev is strictly for upskilling and networking purposes related to the technical infrastructure of blockchain platforms. We do not provide financial or investment advice, nor do we make any representations regarding the value, profitability, or future price of any blockchain or cryptocurrency. Users are encouraged to conduct their own research and consult with licensed financial professionals before engaging in any investment activities. https://cohorts.patika.dev disclaims any responsibility for financial decisions made by users based on the information provided here.

© 2026 Cohorts, All rights reserved