Подтвердить что ты не робот

Модификация для реагирования с ошибкой 0.16

Я обновил свое приложение от адаптивного значения от 0,15 до 0,16, но после этого я получаю сообщение об ошибке, и я не знаю, как его решить.

введите описание изображения здесь

TypeError:undefined is not an object (evaluating 'GLOBAL.Text={
get defaultProps(){
throw getInvalidGlobalUseError('Text')}}')

В отладчике Chrome:

Uncaught Error: Uncaught TypeError: Cannot set property 'Text' of undefined

Спасибо

OBS: Я работаю на Android.

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

4b9b3361

Ответ 1

В моем случае я смог сузить дело до одного элемента в файле .babelrc:

{
    "presets": ["es2015"]
}

Как только я удалил это и перезапустил упаковщик (убедитесь, что также используется флаг --reset-cache), я прекратил получение ошибки.


Обновление 2: Похоже, что React Native делает некоторые изменения своим .babelrc в версии 0.20.0. Итак, если вы используете эту версию или новее, вы должны следовать инструкциям: https://github.com/facebook/react-native/tree/master/babel-preset, чтобы указать свои настройки .babelrc.

Обновление: Я сузил это далее до transform-es2015-modules-commonjs, в котором React-Native задает некоторые параметры, в частности {"strict": false, "allowTopLevelThis": true}. Предустановка es2015 не устанавливает этот параметр, и кажется, что React-Native.babelrc не переопределяет его. Если вы хотите использовать модули es6 и преобразовать их в commonjs, вам нужно поместить следующее в свой .babelrc:

{
    "plugins": [
        ["transform-es2015-modules-commonjs", {"strict": false, "allowTopLevelThis": true}]
    ]
}

Примечание. Babel 6, который я обновил вместе с answer-native 0.16.0, больше не содержит никаких преобразований по умолчанию. Первоначально я не понял, что пакетный пакет React-Native предоставляет большинство преобразований, которые вам могут понадобиться (перечисленные в их документах: https://facebook.github.io/react-native/docs/javascript-environment.html#javascript-syntax-transformers), и я думаю, что плагин "es2015" мешает некоторым из этих трансформаторов.

Я также пробовал использовать "babel-preset-react" (http://babeljs.io/docs/plugins/preset-react/), и этот плагин, похоже, не вызывал никаких ошибок.

Ответ 2

Я решаю проблему. Я думаю, это было из-за прав в папке проекта. Я запустил chown в моей папке, чтобы исправить проблемы с разрешениями, и теперь все работают.

Спасибо

Ответ 3

В моем случае проблема была изгоев .babelrc две папки вверх (моя корневая папка кода); Я инициировал генератор йома, чтобы выстроить новый проект с помощью babel-6... случайно запущенный из коробки корневого кода. Видимо, Babel пересек вверх из моих папок проекта, пока он не попал в этот .babelrc, который увязал с адаптивными настройками Babel...

^ Это было изначально редактирование моего первоначального ответа, которое было удалено WHILE я W UP UPTING IT