Керування станом · Junior · Запитання 23 з 75
Навіщо обгортати useContext у власний хук на кшталт useAuth()?
export function useAuth() {
const ctx = useContext(AuthContext);
if (!ctx) throw new Error("useAuth must be used within AuthProvider");
return ctx;
}- ✓Правильна відповідь: Щоб приховати об'єкт контексту й явно падати, якщо провайдера немає
- 2Бо
useContextне можна викликати прямо в компонентах - 3Щоб зробити значення контексту незмінним
Пояснення
Споживачі імпортують один хук замість об'єкта контексту, TypeScript отримує тип без null, а забутий провайдер дає читабельну помилку замість undefined десь глибоко в коді.