Yükleniyor...

React Hızlı Başvuru Tablosu

React Hızlı Başvuru Tablosu, modern web uygulamaları geliştiren geliştiriciler için hazırlanmış kapsamlı ve pratik bir referans kaynağıdır. Bu tablo, React bileşenlerini, durum yönetimini (state), veri akışını ve yaşam döngüsü yönetimini hızlı bir şekilde anlamak ve uygulamak isteyen profesyoneller için kritik öneme sahiptir. React Hızlı Başvuru Tablosu, geliştiricilere, projelerinde sıkça karşılaşılan durumları çözmek için rehberlik eder ve en iyi uygulamaları bir araya getirir.
Bu tablo, Single Page Application (SPA) geliştirenler için özellikle faydalıdır; çünkü komponent tabanlı düşünme, performans optimizasyonu ve kodun yeniden kullanılabilirliğini sağlamak için temel bir araçtır. Kullanıcılar bu tablo sayesinde prop drilling gibi yaygın hatalardan kaçınmayı, gereksiz render’ları önlemeyi ve state mutasyonlarını yönetmeyi öğrenir. Ayrıca, tablo sayesinde React’in useState, useEffect, useReducer gibi hook’ları ve Context API gibi veri paylaşım yöntemleri hakkında pratik bilgiler edinirler.
React Hızlı Başvuru Tablosu, hem referans hem de eğitim kaynağı olarak işlev görür. Geliştiriciler, tabloyu kullanarak component mantığını, durum yönetimini ve yaşam döngüsü süreçlerini daha hızlı kavrayabilir, uygulamalarını optimize edebilir ve güvenli React kodu yazabilirler. Bu kaynak, React projelerinde verimliliği artırmak ve profesyonel standartlarda geliştirme yapmak isteyen herkes için vazgeçilmezdir.

Temel Örnek

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

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

const artır = () => setCount(prev => prev + 1);
const azalt = () => setCount(prev => prev - 1);

return (
<div style={{ textAlign: 'center', marginTop: '50px' }}> <h2>Basit Sayaç</h2> <p>Mevcut Değer: {count}</p> <button onClick={artır}>Artır</button> <button onClick={azalt}>Azalt</button> </div>
);
}

export default Sayaç;

Yukarıdaki örnek, React’in temel bileşen mantığını ve state yönetimini göstermektedir. useState hook’u, komponentin yerel durumunu güvenli bir şekilde yönetir ve direkt mutasyonları önler. Artır ve azalt fonksiyonları, önceki state değerine dayalı olarak güncellemeler yapar, böylece doğru ve optimize edilmiş render sağlanır.
Bu yapı, UI ve mantığın ayrılmasını sağlar, bileşenin yeniden kullanılabilirliğini ve test edilebilirliğini artırır. React, state değiştiğinde DOM’u otomatik olarak günceller; bu da manuel DOM manipülasyonuna gerek kalmadan güvenilir ve performanslı bir yapı sunar. Bu örnek, daha karmaşık uygulamalarda bileşenlerin nasıl yapılandırılacağını anlamak için temel bir referans niteliğindedir.

Pratik Örnek

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

function KullanıcıProfili({ userId }) {
const [kullanıcı, setKullanıcı] = useState(null);
const [yükleniyor, setYükleniyor] = useState(true);

useEffect(() => {
async function fetchKullanıcı() {
setYükleniyor(true);
try {
const response = await fetch(`https://jsonplaceholder.typicode.com/users/${userId}`);
const data = await response.json();
setKullanıcı(data);
} catch (error) {
console.error('Kullanıcı yüklenirken hata oluştu:', error);
} finally {
setYükleniyor(false);
}
}
fetchKullanıcı();
}, [userId]);

if (yükleniyor) return <p>Yükleniyor...</p>;
if (!kullanıcı) return <p>Kullanıcı bulunamadı</p>;

return ( <div> <h2>Kullanıcı Profili</h2> <p>Ad: {kullanıcı.name}</p> <p>Email: {kullanıcı.email}</p> </div>
);
}

export default KullanıcıProfili;

Advanced React Implementation

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

function TodoUygulaması() {
const [todos, setTodos] = useState([]);
const [görev, setGörev] = useState('');

const ekle = useCallback(() => {
if (görev.trim() === '') return;
setTodos(prev => [...prev, { id: Date.now(), text: görev }]);
setGörev('');
}, [görev]);

const sil = useCallback((id) => {
setTodos(prev => prev.filter(todo => todo.id !== id));
}, []);

useEffect(() => {
console.log('Todos güncellendi:', todos);
}, [todos]);

return ( <div> <h2>Todo Uygulaması</h2>
<input
type="text"
value={görev}
onChange={(e) => setGörev(e.target.value)}
placeholder="Yeni görev ekle"
/> <button onClick={ekle}>Ekle</button> <ul>
{todos.map(todo => ( <li key={todo.id}>
{todo.text} <button onClick={() => sil(todo.id)}>Sil</button> </li>
))} </ul> </div>
);
}

export default TodoUygulaması;

React’te en iyi uygulamalar arasında, modüler ve yeniden kullanılabilir bileşenler oluşturmak, state’i güvenli bir şekilde yönetmek ve tek yönlü veri akışını korumak yer alır. Yaygın hatalar arasında prop drilling, doğrudan state mutasyonları ve gereksiz render’lar bulunur.
Debugging için React DevTools kullanımı önerilir; bileşen hiyerarşisini, state ve performansı incelemeye yardımcı olur. performans optimizasyonu için React.memo, useMemo ve useCallback kullanılabilir. Güvenlik açısından, render öncesi veri doğrulama ve sanitize işlemleri uygulanmalıdır.

📊 Kapsamlı Referans

React Element/Method Description Syntax Example Notes
Component UI’nin temel bloğu function MyComponent() {} function MyComponent() { return <div>Merhaba</div>; } Tüm uygulamalarda temel
useState Yerel state const [state, setState] = useState(initial); const [count, setCount] = useState(0); Prop drilling önler
useEffect Yan etkiler useEffect(() => {}, [deps]); useEffect(() => { console.log(count); }, [count]); Lifecycle kontrolü
useReducer Karmaşık state const [state, dispatch] = useReducer(reducer, initial); const [state, dispatch] = useReducer(reducer, {}); useState alternatifi
props Veri iletimi <Component propName={value} /> <Selam name="Ali" /> Salt okunur
context Global veri React.createContext() const ThemeContext = React.createContext(); Prop drilling önler
React.memo Render optimizasyonu export default React.memo(Component); export default React.memo(MyComponent); Gereksiz render’ı engeller
useCallback Fonksiyon memoizasyonu const memoFn = useCallback(fn, [deps]); const add = useCallback(() => {}, []); Fonksiyon yeniden oluşturmayı engeller
useMemo Değer memoizasyonu const memoValue = useMemo(() => compute(), [deps]); const total = useMemo(() => calcTotal(), [items]); Hesaplamaları optimize eder
key Listeler için benzersiz id <li key={id}>Item</li> <li key={todo.id}>{todo.text}</li> Liste render’ları için zorunlu
event handling Etkinlik yönetimi onClick, onChange <button onClick={handleClick}>Tıkla</button> Fonksiyonları ayrı tut
refs DOM erişimi const ref = useRef(); const inputRef = useRef(); Doğrudan erişim
lazy Lazy loading React.lazy(() => import('./Component')) const LazyComp = React.lazy(() => import('./Comp')); Bundle boyutunu azaltır
Suspense Lazy fallback <Suspense fallback={<Loading />}><LazyComp /></Suspense> <Suspense fallback={<p>Yükleniyor...</p>}><LazyComp /></Suspense> Lazy ile birlikte kullanılır
forwardRef Ref iletim React.forwardRef((props, ref) => {}) const Input = React.forwardRef((props, ref) => <input ref={ref} />) Dış ref erişimi sağlar
error boundaries Hata yakalama class ErrorBoundary extends React.Component {} class ErrorBoundary extends React.Component { render() { return this.props.children; }} Bileşen hatalarını yakalar

📊 Complete React Properties Reference

Property Values Default Description React Support
useState any null Yerel state v16.8+
useEffect function null Yan etkiler v16.8+
useReducer function null Karmaşık state v16.8+
props any {} Bileşene veri iletimi v0.14+
context object null Global veri v16.3+
key string/number null Benzersiz id v0.14+
ref object null DOM veya bileşene erişim v16.3+
memo HOC null Render optimizasyonu v16.6+
lazy function null Lazy loading v16.6+
Suspense component null Fallback component v16.6+
forwardRef function null Ref iletimi v16.3+
ErrorBoundary class null Hata yakalama v16+

Özet ve sonraki adımlar:
React Hızlı Başvuru Tablosu, komponent tabanlı düşünme, state yönetimi, veri akışı ve yaşam döngüsü kontrolü konularında kapsamlı bir referans sunar. Bu tabloyu kullanarak geliştiriciler, performanslı ve sürdürülebilir React uygulamaları geliştirebilir.
Bir sonraki adım olarak, Redux veya Zustand ile global state yönetimi, React Profiler ile performans analizi ve React Router ile SPA yönetimi konularını çalışmak önerilir. Bu tabloyu gerçek projelerde uygulamak, React bilgilerini derinleştirir ve profesyonel uygulamalar geliştirmeyi kolaylaştırır.

🧠 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