Ответ 1
Настройка NODE_ENV для разработки, как указал Бенджамин Груэнбаум в комментарии, разрешил проблемы.
set NODE_ENV=development
У меня есть React js, установленный через NPM и использующий браузер для управления компонентами в реакции. Когда в React возникает исключение, консоль показывает как
"Неисправная ошибка: возникло исключение Minified, используйте недопустимый dev среды для полного сообщения об ошибке и дополнительных полезных предупреждения".
Как включить полные сообщения об ошибках?
Настройка NODE_ENV для разработки, как указал Бенджамин Груэнбаум в комментарии, разрешил проблемы.
set NODE_ENV=development
Если вы столкнулись с этой проблемой с Karma + Webpack, следующая конфигурация Webpack исправила проблему для меня при запуске тестов:
plugins: [
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('development')
}
})
]
Я ПОЛНОСТЬЮ РЕШЕН ЭТО.
Если вы похожи на меня и запускали эту команду для установки NODE_ENV, и это буквально никогда не срабатывало, проверьте, не связываетесь ли вы с реакцией .min.js, а не с полными версиями файлов.
Ссылка на полные версии, и это должно работать как шарм.: D
Если вы используете jspm для связывания своего кода, обратите внимание, что версия 0.16.24 импортирует модифицированную "производственную" версию React, которая вызывает эту ошибку. Моим временным решением было понизить значение jspm до 0,16.23.
edit Будущие версии jspm позволят вам объявлять версии производства и разработки (см. jspm beta documentation)
У меня была эта проблема, и для меня мне не нужно было отключать минимизацию или использовать источник реакции. Мой script был просто загружен до корневого элемента. Поэтому я просто переместил script из головы и под div в исходный код индексного файла и исправил его.
Изменил мой index.jade следующим образом:
html
head
title Super coo site
script(src="bundle.js")
body
div#root
Для этого:
html
head
title Super coo site
body
div#root
script(src="bundle.js")
Проверяете ли вы элемент DOM, который вы пытаетесь выполнить? У меня была эта ошибка раньше из-за глупой ошибки. Худшая часть - это расслоение. Элемент id не тот же
Index.html
<div id="ds-app"></div>
app.jsx
React.DOM.render(<App/>, document.getElementById('app'))
По состоянию на версия 15.2, в сообщении об ошибках производства (NODE_ENV=production
) теперь можно указать URL-адрес, который вы можете посетить, где вы можете увидеть оригинальная, несмываемая ошибка.
https://twitter.com/dan_abramov/status/748969886433546240
Чтобы получить доступ к этим сообщениям об ошибках, вы должны рассмотреть возможность обновления до React 15.2. Кроме того, некоторые средства создания отчетов о сбоях автоматически уничтожают эти ошибки для вас.
используйте файлы min.js в рабочей среде или свяжите код приложения с process.env.NODE_ENV === 'production'
и вам будет хорошо!
Я получил эту ошибку, когда мой метод render возвратил undefined
eg
render() {
let view;
// Not paying attention and slip a case where view won't get assigned a value
if(this.props.foo == 'hello') {
view = <HelloView />
}
else if(this.props.foo == 'bye') {
view = <ByeView />
}
return view;
}
Это вызовет ошибку, когда this.props.foo является "привет"
Я не думаю, что выбранный ответ - это полный ответ. Хотя это может сработать для некоторых, у меня такая же проблема с JSPM 0.16.36
и использование метода жизненного цикла shouldComponentUpdate
на одном из моих компонентов, удаление метода устраняет проблему..