无法找到变量:组件处于原生状态

时间:2018-03-19 19:29:31

标签: react-native npm

我正在构建一个简单的应用程序,其中包括本地使用的其他事物。在更新了react,expo,来自之前版本的react-native之后,我得到了一个我似乎无法摆脱的错误(见图片)。我查看了index.js,MainNavigator.js,LoginNavigator.js以确保我在序言中有import React, {Component } from 'react';,但问题仍然存在。任何人都可以指导我帮助解决这个问题吗?

enter image description here

也尝试过:

  • 运行exp install:ios以确保我在模拟器上有最新版本
  • 提到的一些解决方案here,例如watchman watch-del-all && react-native start --reset-cachewatchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf node_modules/ && npm cache verify && npm install && npm start --reset-cache
  • 使用npm install exp --global
  • 重新安装世博会
  • 在Expo for SDK v25.0.0中upgrade guide之后,即更改app.json package.json,删除node_modules,然后运行exp start -c
  • 正在运行react-native link
  • 使用import React from 'react';然后... extends React.Component
  • 使用'npm install [package] --save`
  • 再次手动安装除react-nativeexporeact以外的所有软件包

摘自package.json: Versions:

6 个答案:

答案 0 :(得分:4)

我的解决方案是改变这一行:
来自

import React from 'react';

import React, {Component} from 'react';

答案 1 :(得分:2)

升级世博会版本时,请务必遵循其升级指南并一次执行一个版本:https://blog.expo.io/expo-sdk-v25-0-0-is-now-available-714d10a8c3f7

答案 2 :(得分:1)

npm start---reset-cache

并侵入缓存并重新启动

答案 3 :(得分:0)

我已在项目中解决此问题。首先将react-native添加到您的软件包中。

yarn add react-native

然后在下面的行中更改:

OLD

import React from 'react';

import React, {Component} from 'react';

答案 4 :(得分:0)

在遍历所有代码库之后,我终于经历了这一点,最后,我在无法相信它将是App.js文件的地方找到了它。因此,如果您尝试重新启动捆绑器并运行npm start --reset-cacheyarn start --reset-cache,但问题仍然存在,请检查您处理过的所有文件和组件,然后导入React而不导入{{ 1}},例如:

Component

答案 5 :(得分:-1)

请注意,如果您要在react-native中使用类,则应按如下所示从react添加{component}。

从React导入{component};