Задать вопрос
@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 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Alexandroppolus
@Alexandroppolus
кодир
У функции renderHook есть второй параметр-обьект, там можно задать всякие настройки. Тебе надо в поле wrapper воткнуть компонент, в котором есть провайдер этого контекста.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽