create
- React Native kursu
- İleri seviye
- Ders 56/83
- 5 dk
create ile store oluşturmayı öğrenirsin.
create ile store
create, Zustand'ın tek giriş noktasıdır. Bir geri çağrı alır; bu geri çağrı state nesnesini döndürür. State nesnesi içinde hem veri alanları hem de action işlevleri bulunur. Bu ayrım Redux'taki gibi reducer/action bölmesine gerek bırakmaz.
Store, bir hook döndürür; bu yüzden ismi use ön ekiyle başlar (useCart, useAuth). Bileşenler bu hook'u çağırarak istedikleri alanı seçer. set işlevi, kısmı (partial) güncelleme yapar; yalnızca verilen alanlar değiştirilir, gerisi korunur.
Kısmı güncelleme
set, kendisine verilen nesneyi mevcut state ile birleştirir. set({ count: 5 }) çağrısı yalnızca count alanını değiştirir; state'in geri kalanı korunur. Bu davranış, Redux'ta Object.assign veya spread ile yaptığımız birleştirmenin yerini alır.
Önceki state'e göre güncelleme için set((s) => ({ count: s.count + 1 })) yazılır. Burada s, güncelleme öncesi state'tir. Bu kalıp sayaç, liste ekleme ve form alanları gibi durumlarda yaygın kullanılır.
Uygulama useCart store'u yaz
useCart store'u tanımla. create((set) => ({ items: [], addItem: (item) => set((s) => ({ items: [...s.items, item] })) })). export const ile dışa aktar.
Başlangıç kodu
import { create } from 'zustand';
// useCart store'unu tanımlaÖrnek çözüm
import { create } from 'zustand';
export const useCart = create((set) => ({
items: [],
addItem: (item) => set((s) => ({ items: [...s.items, item] })),
}));Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 create parçalarını eşle
| Kavram | Anlamı |
|---|---|
create |
Store oluşturur |
set |
Kısmı günceller |
get |
State okur |
use... |
Hook adı ön eki |
2 set çağrısı
increment: () => set((s) => ({ count: s.count + ____ })),
increment: () => set((s) => ({ count: s.count + 1 })),
Açıklama: 1 yazılır; sayacı bir artırmak için kullanılan değerdir.
3 set hangi güncellemeyi yapar?
- Kısmı güncelleme
- Yalnızca okuma yapar Doğru cevap
- Tüm state'i siler
- Provider kurar
Açıklama: set kısmı güncelleme yapar.