alexandr2006
@alexandr2006
весь во фронтенде

Что делать, если react-библиотека требует PropTypes?

Используем в проекте redux-saga-router.

Но, как только я собираюсь использовать линки:

import PropTypes from 'prop-types' //т.к. в реакте это теперь отдельная библиотека
export const Link = createLink(history);
bla-bla
<li><Link to="/users">Users</Link></li>
<li><Link to="/users/1">A Specific User</Link></li>


Библиотека redux-saga-router начинает ругаться:
Uncaught TypeError: Cannot read property 'string' of undefined at createLink (createLink.js:56)

Это потому, что горе-разработчики сперва ввели в react PropTypes, а с 15.3.0 вынесли в отдельную библиотеку. А redux-saga-router об этом не знает и тупо пытается выполнить проверку:

Link.propTypes = {
to: _react.PropTypes.string.isRequired,
className: _react.PropTypes.string,
children: _react.PropTypes.any
};

Собственно говоря как решить проблему, не отказываясь от библиотеки?
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ответы на вопрос 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Горе-разработчики!

Хотелось бы прокомментировать, но не буду =)

Итак, у вас есть несколько путей:
1) делаете форк redux-saga-router и в ней изменяете везде (автозаменой в принципе, может будут трудные места, но
вряд ли) - подключение PropTypes
Затем либо использует свой форк (в package.json) прописывая урл до гитхаб репозитория, либо (правильнее) делаете pull request в библиотеку и помогаете другим.

2) пишите автору(ам) в issue, что пора бы пофиксить (но сначала проверьте, нет ли там уже такого issue, и может быть уже даже есть pull request, но его еще не приняли или есть чей-то уже рабочий форк и тд тп)
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы