Kodkitabi

State'i Yukarı Taşımak

React içinde state'i yukarı taşımak kavramını, kullanım sınırlarını ve güvenilir uygulama biçimini öğrenin.

State'i Yukarı Taşımak, 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. Girdinin biçimini ve geçerliliğini sınırda denetlemek, iç katmanların daha sade kalmasını 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

Kavramı her durumda uygulanacak bir kural gibi kullanmak gereksiz karmaşıklık üretir. Önce problemin sınırını belirleyin, ardından en küçük yeterli yapıyı seçin.

Sonuç

State'i Yukarı Taşımak, 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.

State'i Yukarı Taşımak örneği
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);