Redux gerekli mi?

Merhaba, mern stack appler yazıyorum Redux daha önce kullanmadım ama çok gerekli mi? Mesela her sayfada olan bir state orada tanımlayıp istediğim yerde çağırabilir miyim?
@RaSGooL, @bitwise

Biraz kullanim amacina gore. Global state kullanip da useContext() hook'u yetersiz geliyorsa kullanmalisin.

Redux ile state degisimlerine async middleware inject edebiliyorsun, reducer kullandigi icin state replay yapabiliyorsun. Elbette canin isterse aynisini React context hook'u ile de yaparsin ama ne geregi var?
 
Biraz kullanim amacina gore. Global state kullanip da useContext() Hook'u yetersiz geliyorsa kullanmalisin.

Redux ile state degisimlerine async middleware inject edebiliyorsun, reducer kullandigi icin state replay yapabiliyorsun. Elbette canin isterse aynisini React context Hook'u ile de yaparsin ama ne geregi var?

Teşekkürler, daha basit projeler için context mi uygun?
 
Kısa cevap; Hayır gerekli değil.

Ama global state management yapıyorsan paket kullanmakta fayda var. Context api ilede yaparsın ama tekerleği yeniden icat etmeye gerek yok.
3-4 yıl önce redux kullanırdım hep. Ama genel sistemi yorduğunu düşünüyorum ki bundle size bile gereksiz büyük. Redux toolkit çıktı bu yüzden.
Redux selector yapısını iyi kurmazsan gereksiz renderlarla uğraşırsın.

Context api global olarak kullanma. context değiştiği anda useContext çağırdığın her yer render olacak. Sadece liste güncellediğinde tüm siten render olabilir. Performans sorunu yaşarsın. İyi optimize etmen gerekecek. Güzel yanı bundle size yok. Herhangi bir pakete bağımlılık yok. Çok değişmeyen global yapılarda kullanıyorum ben. ThemeProvider, LanguageProvider gibi.

Diğer çözümler;
Zustand (En sık kullandığım): Çok çok basittir. Kolay kullanım bundle size yok denecek kadar az (1-2kb). Context api benzeri ama daha performanslı. Redux kadar hiç karışık değil. Hooks tabanlı. Öğrenim eğrisi yok.
Jotai: atomik state diye geçiyor. Diğerlerinden farklı bir yapısı var. useState gibi kullanımı var. Kendi başına yapılarda güzel iş çıkartıyor. Tüm logic iş akışı atarsın, sonra miss gibi kullanırsın.
 
Kısa cevap; hayır gerekli değil.

Ama global state management yapıyorsan paket kullanmakta fayda var. Context API ile de yaparsın ama tekerleği yeniden icat etmeye gerek yok.
3-4 yıl önce Redux kullanırdım hep. Ama genel sistemi yorduğunu düşünüyorum ki bundle size bile gereksiz büyük. Redux toolkit çıktı bu yüzden.
Redux selector yapısını iyi kurmazsan gereksiz renderlarla uğraşırsın.

Context API global olarak kullanma. Context değiştiği anda usecontext çağırdığın her yer render olacak. Sadece liste güncellediğinde tüm siten render olabilir. Performans sorunu yaşarsın. İyi optimize etmen gerekecek. Güzel yanı bundle size yok. Herhangi bir pakete bağımlılık yok. Çok değişmeyen global yapılarda kullanıyorum ben. Themeprovider, languageprovider gibi.

Diğer çözümler;
Zustand (en sık kullandığım): Çok çok basittir. Kolay kullanım bundle size yok denecek kadar az (1-2KB). Context API benzeri ama daha performanslı. Redux kadar hiç karışık değil. Hooks tabanlı. Öğrenim eğrisi yok.
Jotai: Atomik state diye geçiyor. Diğerlerinden farklı bir yapısı var. Usestate gibi kullanımı var. Kendi başına yapılarda güzel iş çıkartıyor. Tüm Logic iş akışı atarsın, sonra miss gibi kullanırsın.

Hocam terimlere biraz uzağım daha önce hiç ihtiyaç duymadım Redux toolkite. Ama şu stateleri her yerde çağırmak amelelik gibi geliyor, Redux toolkit mi öğrenmeliyim, context API mi yoksa zustand mi projelerimdeki stateleri yönetmek için tam anlamadım.
 
Hocam terimlere biraz uzağım daha önce hiç ihtiyaç duymadım Redux toolkite. Ama şu stateleri her yerde çağırmak amelelik gibi geliyor, Redux toolkit mi öğrenmeliyim, context API mi yoksa zustand mi projelerimdeki stateleri yönetmek için tam anlamadım.
Hepsini kullan. Kullandıkça öğreniyorsun. Terimler uzak olması normal. Kullandıkça öğrenirsin.
 

Technopat Haberler

Yeni konular

Geri
Yukarı