Reducer ile Karmaşık State
React içinde reducer ile karmaşık state kavramını, kullanım sınırlarını ve güvenilir uygulama biçimini öğrenin.
Reducer ile Karmaşık State, React ile state mimarisi çalışırken bileşenler arasındaki sorumlulukları belirginleştirmek için kullanılan yaklaşımı açıklar. React bileşeni aynı girdiler için öngörülebilir bir arayüz ağacı üretmelidir; state yalnızca zaman içinde gerçekten değişen en küçük veriyi tutar.
Render sırasında yan etki oluşturmak ve türetilebilir veriyi ayrıca state içinde saklamak tutarsızlığa yol açar; dış sistem eşitlemeleri temizlenebilir Effect sınırında tutulmalıdır. İsimlendirme, küçük sorumluluklar ve görünür veri akışı; kodun yalnızca çalışmasını değil, anlaşılmasını da sağlar. Aşağıdaki örnek, konuyu küçük ve izlenebilir bir akış içinde gösterir.
Yaygın hata ve doğru yaklaşım
Girdi, çıktı ve hata sözleşmesini belirsiz bırakmak çağıran kodu kırılgan hâle getirir. Normal akış kadar başarısızlık davranışını da açıkça tasarlayın.
Sonuç
Reducer ile Karmaşık State, doğru sınırlar ve açık bir sözleşmeyle kullanıldığında React kodunun güvenilirliğini artırır. Önce doğruluğu kurun; ölçüm göstermeden karmaşık optimizasyona yönelmeyin.
import { createContext, useContext, useReducer } from "react";
const CountContext = createContext(0);
function reducer(count, action) {
return action.type === "increment" ? count + 1 : count;
}
export function CountProvider({ children }) {
const [count] = useReducer(reducer, 0);
return <CountContext value={count}>{children}</CountContext>;
}
export const useCount = () => useContext(CountContext);