Задать вопрос
@Artem641

Как вызвать кастомный hook внутри провайдера в тесте?

Всем привет. Подскажите, как можно вызвать кастомный хук внутри провайдера в тесте?

Здесь получаю ошибку, что useTodo можно вызвать только внутри провайдера
test('todo count', () => {
  const { result } = renderHook(() => useTodo())
})


// context
export const useTodo = () => {
  const context = useContext(TodoContext)

  if (!context) {
    throw new Error('useTodo must be used within a TodoProvider')
  }

  return context
}
  • Вопрос задан
  • 44 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • ProductStar
    Разработка на React
    6 недель
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
Alexandroppolus
@Alexandroppolus
кодир
У функции renderHook есть второй параметр-обьект, там можно задать всякие настройки. Тебе надо в поле wrapper воткнуть компонент, в котором есть провайдер этого контекста.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 250 000 до 300 000 ₽
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽