Проверяет понимание того, где и когда загружать общие данные приложения, чтобы избежать дублирования запросов и лишних перерисовок.
Когда одни и те же данные нужны в разных частях приложения, важно не запрашивать их повторно в каждом компоненте. Это приводит к лишним сетевым запросам, рассинхронизации состояния и миганию интерфейса. Правильный подход — определить общий уровень, на котором данные будут загружены один раз и переданы вниз.
function App() {
const [user, setUser] = useState(null);
useEffect(() => {
fetch('/api/me')
.then(r => r.json())
.then(setUser);
}, []);
if (!user) return <Spinner />;
return (
<UserContext.Provider value={user}>
<Header />
<Routes />
</UserContext.Provider>
);
}
Такой подход гарантирует, что запрос выполнится один раз, а все дочерние компоненты получат уже готовые данные через контекст или пропсы. Для более сложных случаев используют React Query или SWR — они сами кэшируют и дедуплицируют запросы.
Итог: общие данные стоит запрашивать на самом высоком уровне, где они реально нужны, и хранить в общем сторе или контексте — это уменьшает количество запросов и упрощает синхронизацию состояния.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию