Yükleniyor...

React API Referansı

React API Referansı, React ile geliştirme yapan yazılımcılar için kapsamlı bir kaynak olup, bileşenler, state yönetimi, veri akışı ve yaşam döngüsü metodlarını detaylı bir şekilde açıklar. Modern web uygulamaları ve SPA’larda React API Referansı, geliştiricilerin uygulamalarını daha verimli, ölçeklenebilir ve sürdürülebilir şekilde inşa etmelerini sağlar.
Bu referans, React’in temel kavramlarını anlamak ve doğru şekilde uygulamak için kritik öneme sahiptir. useState, useEffect, useReducer gibi hook’lar, state ve yan etkileri yönetmek için kullanılırken, Context API ve React.memo gibi araçlar performansı artırmak ve prop drilling’i önlemek için idealdir. React API Referansı, hem basit hem de karmaşık bileşenlerde en iyi uygulamaları gösterir ve geliştiricilerin performans optimizasyonu ve hata ayıklama stratejilerini öğrenmesine yardımcı olur.
Bu referansı inceleyen kullanıcılar, React bileşenlerini doğru şekilde oluşturmayı, state ve props yönetimini, veri akışını optimize etmeyi ve yaşam döngüsü metodlarını etkin biçimde kullanmayı öğreneceklerdir. Modern SPA’larda karşılaşılan problemleri çözmek ve gerçek dünya senaryolarında React API’yi en etkili biçimde kullanmak için bu referans vazgeçilmez bir rehber niteliğindedir.

Temel Örnek

jsx
JSX Code
import React, { useState } from 'react';

function Sayac() {
const [count, setCount] = useState(0);

const arttir = () => setCount(prev => prev + 1);
const azalt = () => setCount(prev => prev - 1);

return ( <div> <h1>Sayaç: {count}</h1> <button onClick={arttir}>Arttır</button> <button onClick={azalt}>Azalt</button> </div>
);
}

export default Sayac;

Yukarıdaki Sayac bileşeninde useState hook’u ile count adında bir state tanımlanmıştır. setCount fonksiyonu, önceki state değerine dayanarak güncelleme yapar, böylece doğrudan mutasyon yapılmaz. arttir ve azalt fonksiyonları, butonların onClick olaylarına bağlanarak kullanıcı etkileşimlerini yönetir.
Bu örnek, React’in declarative (bildirimsel) yaklaşımını ve state değişikliklerinde otomatik re-render mekanizmasını göstermektedir. Ayrıca prop drilling’in önlenmesi ve bileşenlerin yeniden kullanılabilir olması gibi iyi uygulama örnekleri sunar. Başlangıç seviyesindeki geliştiriciler için, DOM manipülasyonu yerine React’in state ve props yönetimi arasındaki farkı anlamak açısından faydalıdır.

Pratik Örnek

jsx
JSX Code
import React, { useState, useEffect } from 'react';

function GorevListesi() {
const [gorevler, setGorevler] = useState([]);
const [input, setInput] = useState('');

const gorevEkle = () => {
if (input.trim() !== '') {
setGorevler(prev => [...prev, input]);
setInput('');
}
};

useEffect(() => {
console.log('Güncel Görevler:', gorevler);
}, [gorevler]);

return ( <div> <h2>Görev Listesi</h2>
<input
type="text"
value={input}
onChange={e => setInput(e.target.value)}
placeholder="Yeni görev ekle"
/> <button onClick={gorevEkle}>Ekle</button> <ul>
{gorevler.map((gorev, index) => ( <li key={index}>{gorev}</li>
))} </ul> </div>
);
}

export default GorevListesi;

Advanced React Implementation

jsx
JSX Code
import React, { useState, useEffect, useCallback } from 'react';

function OptimizeGorevListesi() {
const [gorevler, setGorevler] = useState([]);
const [input, setInput] = useState('');

const gorevEkle = useCallback(() => {
if (input.trim() !== '') {
setGorevler(prev => [...prev, input]);
setInput('');
}
}, [input]);

useEffect(() => {
console.log('Optimize edilmiş görev listesi:', gorevler);
}, [gorevler]);

return ( <div> <h2>Optimize Görev Listesi</h2>
<input
type="text"
value={input}
onChange={e => setInput(e.target.value)}
placeholder="Yeni görev ekle"
/> <button onClick={gorevEkle}>Ekle</button> <ul>
{gorevler.map((gorev, index) => ( <li key={index}>{gorev}</li>
))} </ul> </div>
);
}

export default OptimizeGorevListesi;

OptimizeGorevListesi örneğinde useCallback hook’u kullanılarak gorevEkle fonksiyonu memoize edilmiştir, bu sayede gereksiz re-render’lar önlenir. useEffect, gorevler state’indeki değişiklikleri izleyerek yan etkilerin yönetilmesini sağlar. İyi uygulamalar arasında bileşenleri modüler ve yeniden kullanılabilir şekilde tasarlamak, hook’ları doğru kullanmak, Context API ile prop drilling’i önlemek ve performans optimizasyonları yapmak bulunur. Yaygın hatalar; state dizilerini doğrudan değiştirmek, gereksiz re-render’lar ve props yönetiminde hatalardır. Hata ayıklama için React DevTools, güvenlik için key kullanımı ve dangerouslySetInnerHTML’in sınırlı kullanımı önerilir.

📊 Kapsamlı Referans

React Element/Method Description Syntax Example Notes
useState Yerel state yönetimi const [state, setState] = useState(initial) const [count, setCount] = useState(0); Basit stateler için
useEffect Yan etkilerin yönetimi useEffect(() => {}, [dependencies]); useEffect(() => { console.log(count); }, [count]); Render sonrası çalışır
useContext Context kullanımı const value = useContext(Context); const theme = useContext(ThemeContext); Prop drilling önler
useReducer Karmaşık state yönetimi const [state, dispatch] = useReducer(reducer, initial) const [state, dispatch] = useReducer(todoReducer, []); Karmaşık mantık için
React.memo Render optimizasyonu export default React.memo(Component); export default React.memo(TaskItem); Props değişirse render
useCallback Fonksiyon memoizasyonu const memoFn = useCallback(fn, [dependencies]); const addTask = useCallback(() => {}, [tasks]); Çocuklara fonksiyon aktarımı optimizasyonu
useRef Referans oluşturma const ref = useRef(initial); const inputRef = useRef(); DOM veya değiştirilebilir değer
useLayoutEffect Render öncesi efekt useLayoutEffect(() => {}, [dependencies]); useLayoutEffect(() => {}, []); DOM ile senkron
createContext Context oluşturma const Context = createContext(defaultValue); const ThemeContext = createContext('light'); Global state için
forwardRef Ref geçirme const Component = forwardRef((props, ref) => {}); const Input = forwardRef((props, ref) => <input ref={ref} />); Çocuk ref erişimi

📊 Complete React Properties Reference

Property Values Default Description React Support
className string '' Component CSS sınıfları Tüm sürümler
key string null Liste öğeleri için benzersiz id Tüm sürümler
ref object null DOM veya component erişimi 16.3+
children node null Component içeriği Tüm sürümler
style object {} Inline stil Tüm sürümler
dangerouslySetInnerHTML object null HTML ekleme Tüm sürümler
defaultValue string '' Input başlangıç değeri Tüm sürümler
defaultChecked boolean false Checkbox başlangıç durumu Tüm sürümler
onClick function null Click event Tüm sürümler
onChange function null Change event Tüm sürümler

React API Referansı’nı tamamlayarak geliştiriciler, state yönetimi, veri akışı ve bileşen yaşam döngüsü konularında derinlemesine bilgi sahibi olurlar. Hooks, Context API ve performans optimizasyonları hakkında bilgiler, SPA geliştirme süreçlerinde önemli avantajlar sağlar. Bir sonraki adım olarak custom hook’lar, Redux/Zustand gibi state yönetim kütüphaneleri ve ileri seviye performans teknikleri incelenebilir. React dokümantasyonu ve topluluk kaynakları ile sürekli öğrenme, gerçek dünya projelerinde verimli uygulamalar geliştirmek için gereklidir.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

4
Sorular
🎯
70%
Geçmek İçin
♾️
Süre
🔄
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek