#reactjs #react-hooks
#reactjs #react-hooks
Вопрос:
У меня возникли некоторые проблемы с фрагментом кода в React.
Я создал репозиторий gh, который воспроизводит ошибку: https://github.com/AnatoleLucet/next-issue
Я пытаюсь сделать перехват, который получает некоторые локальные данные (в моем реальном приложении это система перевода, но вы поняли идею). Дело в том, что я передаю каждую «часть» своих данных (см. data/myData.ts
И data/index.ts
) в вызываемой функции formatData
, эта функция объявлена в том же файле, что и мой hook ( hooks/myHook.ts
) . Затем, когда я использую свой хук в компоненте (см. pages/index.tsx
), я получаю следующую ошибку :
Я не понимаю, почему браузер (или webpack?) Не инициализируется formatData
в нужное время…
Я использую Nextjs, но я не думаю, что это связано с проблемой, хотя я не пробовал использовать «ванильный» проект React.
В качестве временного исправления я могу перейти formatData
к другому файлу, например utils/data.ts
.
Ответ №1:
У вас циклическая зависимость.
hooks/myHook.ts
импортирует изdata/index.ts
data/index.ts
импортирует изdata/myData.ts
data/myData.ts
импортирует изhooks/myHook.ts
Комментарии:
1. Действительно. Поэтому я должен переосмыслить свой дизайн. Спасибо