首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级到react本机0.16错误

升级到react本机0.16错误
EN

Stack Overflow用户
提问于 2015-12-05 23:20:09
回答 3查看 1.6K关注 0票数 10

我升级了我的应用程序,从原始的0.15升级到0.16,但在那之后,我得到了一个错误,我不知道如何解决它。

代码语言:javascript
复制
TypeError:undefined is not an object (evaluating 'GLOBAL.Text={
get defaultProps(){
throw getInvalidGlobalUseError('Text')}}')

在Chrome调试器中:

代码语言:javascript
复制
Uncaught Error: Uncaught TypeError: Cannot set property 'Text' of undefined

谢谢

OBS:,我在安卓上运行。

我注意到更改应用程序名解决了这个问题,我今天使用Evently作为应用程序名。我试图重新创建我的虚拟机,但没有解决它。

EN

回答 3

Stack Overflow用户

发布于 2015-12-15 20:31:58

在我的例子中,我能够将原因缩小为.babelrc文件中的一项:

代码语言:javascript
复制
{
    "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中放置以下内容:

代码语言:javascript
复制
{
    "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/),而这个插件似乎没有造成任何错误。

票数 10
EN

Stack Overflow用户

发布于 2015-12-08 21:28:32

我解决了问题。我想是因为项目文件夹中的权限。我在文件夹中运行chown以纠正权限问题,现在所有操作都在工作。

谢谢

票数 0
EN

Stack Overflow用户

发布于 2016-02-22 21:55:05

在我的例子中,问题是一个流氓的.babelrc两个文件夹(我的根代码文件夹);我已经启动了一个yeoman生成器,以便使用babel-6构建一个新项目.意外地从根代码文件夹中运行yeoman。显然,巴贝尔从我的项目文件夹向上通过,直到它击中了这个.babelrc,它的反应-本地人巴贝尔吐露.

^这最初是对我最初答案的编辑,在我更新信息技术时,它被删除了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34112110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档