ViraStack
  • Akademi
  • Hakkında
  • Destek
Genel BakışKaynaklarKatkı
ViraStack

Frontend ekosistemi: ücretsiz rehberler, proje şablonları, AI kuralları ve form bileşenleri.

Ürünler

  • ViraStack Start
  • ViraStack AI
  • ViraStack Mask
  • ViraStack Password
  • ViraStack Guide

Keşfet

  • Akademi
  • Hakkında
  • Marka
  • Destek

© 2026 ViraStack.

Açık kaynak · MIT

React

01 / 12

Kurulum ve araçlar

Framework mü Vite mi, ilk proje, Strict Mode, lint kuralları ve AI ile React yazarken dikkat edilecekler.

Bu Rehber Ne Anlatıyor

React resmi dokümanı tr.react.dev Türkçe ve çok iyi. Bu rehber onu tekrar etmiyor. Her derste konuyu kısaca özetleyip deneyimli mühendislerin önerilerini ve yaygın hataları topluyor. Sürüm: React 19.3 (Eylül 2026).1

Ön koşul, Web Temelleri'ndeki JavaScript dersi. Kent C. Dodds'un önerisi de aynı: React'e geçmeden önce destructuring, arrow function, map/filter, modüller ve Promise rahat olmalı; React'te karşılaştığınız zorlukların çoğu aslında JavaScript'tir.2 Tipler için TypeScript rehberi ayrıca var; buradaki örnekler .tsx ama tip konusuna girmez.

Framework mü, Vite mi?

React ekibi yeni bir uygulamaya bir framework ile başlamayı önerir: Next.js (App Router), React Router (framework modu) ya da mobil için Expo. Framework'ler routing, veri çekme ve server rendering'i hazır getirir ve sunucu olmadan statik site olarak da yayınlanabilir.3

React'in temellerini öğrenmek ya da sunucu gerektirmeyen bir SPA yazmak için Vite yeterlidir. Doküman bunun bir bedeli olduğunu açıkça söyler: routing, veri çekme ve SSR ihtiyacı doğduğunda kendi küçük framework'ünüzü yazmaya başlarsınız.4

DurumÖneri
React öğreniyorsunuzVite
Panel, araç gibi yalnızca tarayıcıda çalışan SPAVite + React Router + TanStack Query
SEO, ilk yükleme hızı, sunucu verisi önemliNext.js ya da React Router framework modu
iOS ve AndroidExpo

Uyarı

create-react-app artık kullanılmıyor. React ekibi Şubat 2025'te yeni projeler için bıraktı.5 Eski bir tutorial npx create-react-app diyorsa güncel değildir.

Bu rehberdeki dersler Vite ile ilerler. Next.js'e özgü konular (Server Components, Server Actions) Next.js rehberinde.

İlk Proje

$ pnpm create vite@latest my-shop -- --template react-ts
cd my-shop
npm install
npm run dev

Vite şablonu React 19.3, TypeScript ve Oxlint ile gelir.6 Önemli dosyalar:

DosyaNe işe yarar
index.htmlTek HTML sayfası; <div id="root"> burada
src/main.tsxReact'i #root'a bağlar
src/App.tsxİlk component'iniz
vite.config.tsVite ve @vitejs/plugin-react ayarı
// src/main.tsx
import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import App from "./App.tsx";

createRoot(document.getElementById("root")!).render(
  <StrictMode>
    <App />
  </StrictMode>,
);

Strict Mode

<StrictMode> yalnızca development'ta çalışan ek kontroller açar. Component'leri iki kez render eder, Effect'leri ve ref callback'lerini bir kez fazladan kurup söker, eski API'leri uyarır.7 Amaç, saf olmayan render'ı ve eksik cleanup'ı production'a çıkmadan yakalamaktır. Production build'i etkilemez.

Yapma

  • "Effect'im iki kez çalışıyor" diye StrictMode'u kaldırmak. Çift çalışma bir hata değil, hatayı gösteren bir test. Çözüm cleanup yazmak; bunu Effect dersinde göreceksiniz.7

Lint: React Kurallarını Makineye Bırakın

React'in kuralları (Rules of React) çoğu zaman hata vermeden bozulur; uygulama çalışır ama yanlış davranır. Bu yüzden lint şarttır.

Vite şablonundaki Oxlint yalnızca rules-of-hooks kuralını açar.6 React ekibinin kendi eklentisi eslint-plugin-react-hooks ise recommended preset'inde React Compiler'ın analizine dayanan kuralları da içerir: render sırasında state değiştirme, Effect içinde senkron setState, render'da ref okuma, component içinde component tanımlama gibi hataları yakalar. Bu kurallar compiler'ı kullanmasanız da çalışır.8

Kod Kalitesi rehberindeki ESLint kurulumuna eklentiyi ekleyin:

$ pnpm add -D eslint-plugin-react-hooks
// eslint.config.js
import reactHooks from "eslint-plugin-react-hooks";
import { defineConfig } from "eslint/config";

export default defineConfig([reactHooks.configs.flat.recommended]);

recommended preset'i yeni kurallar eklendikçe güncellenir; kuralları tek tek açmak yerine onu kullanın.9

React Compiler ve DevTools

React Compiler, memoization'ı build sırasında otomatik ekler. Vite şablonunda build hızına etkisi yüzünden kapalı gelir.6 Vite'ta açmak için:10

$ pnpm add -D babel-plugin-react-compiler @rolldown/plugin-babel
// vite.config.ts
import babel from "@rolldown/plugin-babel";
import react, { reactCompilerPreset } from "@vitejs/plugin-react";
import { defineConfig } from "vite";

export default defineConfig({
  plugins: [react(), babel({ presets: [reactCompilerPreset()] })],
});

Compiler'ın ne yaptığını ve memo/useMemo ile ilişkisini React'te render performansı dersi anlatıyor.

React Developer Tools tarayıcı eklentisidir. Components sekmesinde ağacı, props'u ve state'i görür, değerleri canlı değiştirirsiniz. Profiler sekmesi render sürelerini ölçer.11

AI ile React Yazarken

Model'ler eski React kodunu çok gördüğü için eski kalıpları önerebilir. React ekibinin react.dev'i yazarken kullandığı agent skill'i bile modele "kendi bilgine şüpheyle yaklaş; çoğu zaman eski ya da yanlış React kalıplarıyla eğitildin" der.12 Sık görülen eski öneriler:

Eski öneriBugün
create-react-appVite ya da framework
forwardRefref sıradan bir prop
<ThemeContext.Provider><ThemeContext value={...}>
Türetilmiş değer için useEffect + setStateRender sırasında hesaplama
Her fonksiyona useCallbackReact Compiler

Üç şey işe yarar:

  • Güncel dokümanı bağlama verin. react.dev, agent'lar için bir llms.txt dizini sunar ve her sayfanın sonuna .md eklediğinizde düz Markdown döner (ör. react.dev/learn/you-might-not-need-an-effect.md).13

  • Lint'i bekçi yapın. Yukarıdaki kurallar AI'ın yazdığı kodu da denetler. Agent'a "commit'ten önce npm run lint çalıştır" deyin.

  • Kurallarınızı skill'e yazın. Proje kurallarını ve Vercel'in react-best-practices gibi hazır skill'lerini Skills dersi anlatıyor.

Kendin Dene

  • my-shop projesini kurun, App.tsx'te bir metni değiştirin ve sayfanın yenilenmeden güncellendiğini görün.

  • eslint-plugin-react-hooks'u ekleyin. App.tsx'e bir component'in içinde ikinci bir component tanımlayın ve lint'in ne dediğini okuyun.

  • React DevTools'u kurun, Components sekmesinde App'i seçip state'ini değiştirin.

  • Bir AI aracına "Vite ile React projesi kur" deyin. Önerdiği komutu bu dersle karşılaştırın.

Detaylı Öğrenmek İçin

  • Resmi doküman: React'in Türkçe dokümanı; "Hızlı Başlangıç" ve "React'te Düşünmek" sayfaları ilk okuma için en iyi yer.14

  • Resmi doküman: "Creating a React App" ve "Build a React App from Scratch" sayfaları; framework ile Vite arasındaki farkı anlatır.34

  • Video: React Conf 2025'teki "React and AI" paneli; React ekibi ve araç geliştiricileri AI ile React yazmayı tartışıyor (1. gün yayını).15

  • Yazı: Kent C. Dodds'un React'e başlamadan bilinmesi gereken JavaScript listesi.2

Kaynaklar

  • 1DokümanReact Blog: React 19.3

    9 Eylül 2026. View Transitions ve Fragment Refs'in kararlı olması, `browser()` ve Trusted Types desteği.

  • 2MakaleKent C. Dodds

    : — 2020 tarihli; React'ten önce bilinmesi gereken JavaScript özellikleri.

  • 3DokümanReact: Creating a React App

    Next.js, React Router ve Expo önerisi; framework'lerin sunucusuz da yayınlanabilmesi.

  • 4DokümanReact: Build a React App from Scratch

    Vite, Parcel ve Rsbuild ile kurulum; kendi framework'ünü yazmanın bedeli.

  • 5DokümanReact Blog: Sunsetting Create React App

    14 Şubat 2025. CRA'nın yeni projeler için bırakılması ve geçiş yolları.

  • 6RepoVite: create-vite templates

    `react-ts` şablonu; Oxlint ayarı ve React Compiler'ın neden kapalı geldiği. create-vite 9.3 ile kontrol edildi.

  • 7DokümanReact: StrictMode

    Development'ta çift render, Effect ve ref callback'lerinin yeniden çalıştırılması.

  • 8DokümanReact: eslint-plugin-react-hooks

    Recommended kurallar ve React Compiler destekli lint'ler.

  • 9RepoReact: eslint-plugin-react-hooks README

    Flat config kurulumu ve `recommended` preset'ini kullanma önerisi.

  • 10DokümanReact: React Compiler Installation

    Vite için `reactCompilerPreset` ve `@rolldown/plugin-babel` kurulumu.

  • 11DokümanReact: React Developer Tools

    Tarayıcı eklentisi, Components ve Profiler sekmeleri.

  • 12RepoReact: react.dev react-expert skill

    React dokümanının agent skill'i; modelin eski React kalıplarına şüpheyle yaklaşması uyarısı.

  • 13RepoReact: Add llms.txt to react.dev

    react.dev'e `llms.txt` eklenmesi; sayfaların `.md` olarak sunulması.

  • 14DokümanReact: Türkçe doküman

    React dokümanının topluluk tarafından çevrilen Türkçe sürümü.

  • 15VideoReact: React Conf 2025, React and AI Panel

    1. gün yayını. Lee Robinson moderatörlüğünde React ve AI paneli.

Bu sayfayı düzenle

Son güncelleme tarihi: 21 Ekim 2026

Sonraki adım02. Component ve JSX