Uncaught TypeError: Не удается прочитать свойство "bool" неопределенного после обновления. - программирование
Подтвердить что ты не робот

Uncaught TypeError: Не удается прочитать свойство "bool" неопределенного после обновления.

Я только что обновил свой проект reactjs с 15.4.2 до 16.3.2, проект компилируется, однако в браузере я получаю эту ошибку:

Uncaught TypeError: Cannot read property 'bool' of undefined
    at Object.<anonymous> (propTypes.js:3)
    at __webpack_require__ (propTypes.js:3)
    at Object.<anonymous> (propTypes.js:3)
    at __webpack_require__ (propTypes.js:3)
    at Object.exports.__esModule (propTypes.js:3)
    at __webpack_require__ (propTypes.js:3)
    at Object.<anonymous> (propTypes.js:3)
    at __webpack_require__ (propTypes.js:3)
    at Object.<anonymous> (propTypes.js:3)
    at __webpack_require__ (propTypes.js:3)

но я мог знать, где строка, вызывающая ошибку. Может быть, мне тоже нужно обновить другие пакеты?

вот что у меня есть сейчас:

"devDependencies": {
    "axios": "^0.17",
    "babel-preset-react": "^6.24.1",
    "bootstrap-sass": "^3.3.7",
    "create-react-class": "^15.6.3",
    "cross-env": "^5.1",
    "laravel-mix": "^1.0",
    "lodash": "^4.17.4",
    "react": "16.3.2",
    "react-dom": "16.3.2"
  },
  "dependencies": {
    "ajv": "^6.4.0",
    "animate.css": "^3.1.1",
    "bootstrap": "^3.3.7",
    "dom-tools": "^0.1.4",
    "font-awesome": "^4.7.0",
    "history": "^4.7.2",
    "jquery": "^3.1.1",
    "jquery-slimscroll": "^1.3.6",
    "metismenu": "^2.5.0",
    "prop-types": "^15.6.0",
    "react-bootstrap": "^0.28.3",
    "react-bootstrap-sweetalert": "^4.3.1",
    "react-infinite-grid": "^0.4.0",
    "react-infinite-scroller": "^1.1.4",
    "react-metismenu": "^1.4.0-alpha.2",
    "react-pace": "^1.0.0",
    "react-redux": "^5.0.6",
    "react-router": "^4.2.0",
    "react-router-dom": "^4.2.2",
    "react-table": "^6.8.0",
    "redux": "^3.7.2",
    "redux-logger": "^3.0.6",
    "redux-persist": "^4.9.1",
    "redux-thunk": "^2.2.0",
    "ree-validate": "^1.0.15",
    "rndoam": "^0.1.0",
    "semantic-ui-react": "^0.76.0"
  }

РЕДАКТИРОВАТЬ

Полная ошибка:

Uncaught TypeError: Cannot read property 'bool' of undefined
    at Object.<anonymous> (propTypes.js:3)
    at __webpack_require__ (propTypes.js:3)
    at Object.<anonymous> (propTypes.js:3)
    at __webpack_require__ (propTypes.js:3)
    at Object.exports.__esModule (propTypes.js:3)
    at __webpack_require__ (propTypes.js:3)
    at Object.<anonymous> (propTypes.js:3)
    at __webpack_require__ (propTypes.js:3)
    at Object.<anonymous> (propTypes.js:3)
    at __webpack_require__ (propTypes.js:3)
(anonymous) @ propTypes.js:3
__webpack_require__ @ propTypes.js:3
(anonymous) @ propTypes.js:3
__webpack_require__ @ propTypes.js:3
exports.__esModule @ propTypes.js:3
__webpack_require__ @ propTypes.js:3
(anonymous) @ propTypes.js:3
__webpack_require__ @ propTypes.js:3
(anonymous) @ propTypes.js:3
__webpack_require__ @ propTypes.js:3
(anonymous) @ propTypes.js:3
__webpack_require__ @ propTypes.js:3
(anonymous) @ propTypes.js:3
__webpack_require__ @ propTypes.js:3
(anonymous) @ propTypes.js:3
__webpack_require__ @ propTypes.js:3
Object.defineProperty.value @ propTypes.js:3
__webpack_require__ @ propTypes.js:3
(anonymous) @ propTypes.js:63
(anonymous) @ propTypes.js:66
4b9b3361

Ответ 1

но я мог знать, где строка, вызывающая ошибку.

Вам необходимо использовать инструменты, предоставляемые вашим браузером, чтобы узнать, где происходит ошибка. В противном случае легко потратить часы на простые ошибки.

В частности, если вы используете Chrome, откройте вкладку "DevTools" на вкладке "Источники". Нажмите кнопку паузы (синий на изображении) на "Пауза на исключениях":

pause on exceptions button

Теперь, если вы перезагрузите страницу при открытии панели "Источники", вы увидите, где именно код разбивается. Возможно, это зависит от третьей стороны, которая нуждается в обновлении.

Наконец, ваша настройка sourcemap выглядит сломанной. Странно, что почти каждый кадр вызова имеет одинаковый номер строки. Если вы не знаете, как правильно настроить webpack для разработки, я предлагаю использовать официально поддерживаемый инструмент, например Create React App, который настраивает его для вас.

Ответ 2

https://reactjs.org/docs/typechecking-with-proptypes.html

Из приведенной выше ссылки

React.PropTypes has moved into a different package since React v15.5. Please use the prop-types library instead.

Вам нужно import PropTypes from 'prop-types'; вместо того, чтобы полагаться на React.PropTypes