Redux'taki İki Temel Fikir
Redux kütüphanesini öğrenmeye başlamadan önce, onun iki temel fikriyle tanışalım. Durum yönetimi ile ilgili ilk fikri, React'te sıradan bir sayacın state'i üzerinden inceleyeceğiz:
function Counter() {
// State
const [count, setCount] = useState(0)
// Action:
function clickHandler() {
setCount(count + 1)
}
// View:
return (
<div>
<span>{count}</span>
<button onClick={clickHandler}>+</button>
</div>
)
}
Bu kodda, count değişkeni için state görüyoruz -
bu, sayacın gerçek kaynağıdır. Daha sonra
eylem (action) görüyoruz - kullanıcı
tıkladığında state'i güncelleyen bir olay.
Ve son olarak, kullanıcı arayüzünü
görüntülemek için kullandığımız
görünüm (view).
Böylece şema oldukça basit:
düğmeye basılır - (Eylem) tıklanmasıyla
count state'i (State) değişir, bu nedenle
görünüm (View) değişir - bizim durumumuzda
ekrandaki sayı.
Ancak, aynı state'i kullanması gereken birçok bileşenimiz varsa, her şey daha karmaşık olacaktır. Elbette, örneğin state'i yukarı kaldırabiliriz, ancak böyle bir çözüm her zaman sorundan kurtaramayabilir. Redux bu durumda bize uygulamada global state'i içerecek tek bir yer oluşturmayı ve bu state güncellenirken belirli davranış kalıplarını önerir. İşte ilk temel fikir de tam olarak budur (!).
İkinci fikir, değişmezlik, yani verilerin değiştirilemezliği ile ilgilidir. Elbette, JavaScript'ten dizileri ve nesneleri değiştirebileceğinizi hatırlıyorsunuz. Verileri doğrudan değiştirmek, Redux'ta da diğer framework'lerde olduğu gibi kötü bir alışkanlık olarak kabul edilir ve öngörülemeyen sonuçlara yol açabilir. Bu nedenle Redux'ta başlangıçtaki nesnelerimiz ve dizilerimiz değişmez kalmalı, ve biz sadece onların kopyalarını değiştirebiliriz.
Redux'ın ilk temel fikrinin ne olduğunu anlatın.
Redux'ın ikinci temel fikrinin ne olduğunu anlatın.