# Signal State - FikoYT

## 🔄 Angular 20+ Signals

**Reactive state:**
```typescript
// Signal creation
public yukleniyor = signal(false);
public seciliNesne = signal<FikoObje3D | null>(null);

// Update
this.yukleniyor.set(true);
this.seciliNesne.set(yeniNesne);

// Read
const deger = this.yuklenimo();
```

## 📦 Computed Signals

```typescript
// Derived state
const seciliNesneAdi = computed(() =>
  this.seciliNesne()?.isim || 'Seçili yok'
);

// Effect
effect(() => {
  console.log('Seçim değişti:', this.seciliNesne());
});
```

## 🎯 Signal Pattern

**Component state:**
```typescript
export class MyComponent {
  count = signal(0);
  double = computed(() => this.count() * 2);

  increment() {
    this.count.update(c => c + 1);
  }
}
```

## ⚡ Optimizasyon

- **Granular:** Sadece değişenler render
- **Computed:** Otomatik cache
- **Batch:** Multiple updates
- **Zoneless:** NgZone dışı

---
2025-11-06