我升级了我的应用程序,从原始的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:,我在安卓上运行。
我注意到更改应用程序名解决了这个问题,我今天使用Evently作为应用程序名。我试图重新创建我的虚拟机,但没有解决它。
发布于 2015-12-15 20:31:58
在我的例子中,我能够将原因缩小为.babelrc文件中的一项:
{
"presets": ["es2015"]
}一旦我删除了它并重新启动了包程序(确保也使用了--reset-cache标志),我就停止了错误。
更新2:看上去像是ReactiveNative正在为他们的.babelrc做一些0.20.0版本的变化。因此,如果使用的是该版本或更新版本,则应按照:https://github.com/facebook/react-native/tree/master/babel-preset上的说明来指定.babelrc设置。
Update:我已经将范围进一步缩小到transform-es2015-modules-commonjs,它会做出反应--本机设置了一些选项,特别是{"strict": false, "allowTopLevelThis": true}。es2015预置没有设置此选项,而且React本机.babelrc似乎没有覆盖它。如果您想使用es6模块并将它们转换为公共in,则需要在.babelrc中放置以下内容:
{
"plugins": [
["transform-es2015-modules-commonjs", {"strict": false, "allowTopLevelThis": true}]
]
}注意,Babel 6 (我与react-本机0.16.0一起更新)在默认情况下不再包含任何转换。我最初没有意识到的是,提供了您可能需要的大部分转换(在它们的文档中列出在:https://facebook.github.io/react-native/docs/javascript-environment.html#javascript-syntax-transformers),而且我认为"es2015“插件会干扰其中的一些转换器。
我还试着使用“babel-预设-react”(http://babeljs.io/docs/plugins/preset-react/),而这个插件似乎没有造成任何错误。
发布于 2015-12-08 21:28:32
我解决了问题。我想是因为项目文件夹中的权限。我在文件夹中运行chown以纠正权限问题,现在所有操作都在工作。
谢谢
发布于 2016-02-22 21:55:05
在我的例子中,问题是一个流氓的.babelrc两个文件夹(我的根代码文件夹);我已经启动了一个yeoman生成器,以便使用babel-6构建一个新项目.意外地从根代码文件夹中运行yeoman。显然,巴贝尔从我的项目文件夹向上通过,直到它击中了这个.babelrc,它的反应-本地人巴贝尔吐露.
^这最初是对我最初答案的编辑,在我更新信息技术时,它被删除了。
https://stackoverflow.com/questions/34112110
复制相似问题