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

Как правильно добавить peerDependencies?

Доброй ночи. Столкнулся с такой проблемой. Есть проект и есть своя либа. Оба юзают react, react-router,react-router-dom. И вот в либе, в проекте отдельно все ок. Но когда компонент из либы, который использует например useNavigate из react-router-dom бьет ошибку "Error: useNavigate() may be used only in the context of a component."

Полагаю что он импортит из своих модулей а не из проекта, из-за чего теряется контекст. Как правильн опроинсталить чтобы завелось? Такая же проблема с useFormContext из react-hook-form и других
  • Вопрос задан
  • 88 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • ProductStar
    Разработка на React
    6 недель
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
Решения вопроса 1
@karminski
Senior React.JS Developer
Вам нужно исключить зависимость от роутера в вашей либе. Делается это разными способами в зависимости от сборщика. Какой сборщик у вас? Если vite, то в его конфиге нужно правильно настроить параметры build.rollupOptions.external.

По хорошему сам реакт тоже нужно исключить из сборки либы.

PeerDependencies это несколько иное. Этот параметр говорит, что чтобы ваша либо могла быть установлена в другом проекте, в этом проекте должны быть установлены зависимости, перечисленные в peerDeps. И все. Этот параметр никак не влияет на сборку либы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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