⊗jsrxPmBsCs 2 of 57 menu

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.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet