首页 > 解决方案 > 不变违规:元素类型无效:期望字符串或类/函数但得到:对象-可能的 Babel 问题

问题描述

在此处输入图像描述

我项目中的一切都在工作,直到启动时一切都随机崩溃。我猜这与 babel 有关,因为它在第二个工作,现在不是。如您所见,该错误在我的应用程序的不同部分中持续存在。

需要注意的是它说“检查'SceneView'的渲染方法”,但我没有SceneView。

我收到了这个错误:undefined is not an object (evaluate 'regeneratorRuntime.mark'),直到我决定从 npm 切换到 yarn,现在我得到了你当前看到的错误。

在此处输入图像描述

包.json:

{
  "name": "roam",
  "version": "0.1.0",
  "private": true,
  "devDependencies": {
    "babel-jest": "^23.2.0",
    "babel-preset-react-native": "^2.0.0",
    "babel-preset-react-native-stage-0": "^1.0.1",
    "enzyme": "^3.3.0",
    "enzyme-adapter-react-16": "^1.1.1",
    "jest": "^22.4.4",
    "jest-enzyme": "^6.0.2",
    "jest-react-native": "^18.0.0",
    "react-test-renderer": "^16.4.1",
    "redux-mock-store": "^1.5.3"
  },
  "scripts": {
    "start": "react-native start",
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "test": "node node_modules/jest/bin/jest.js"
  },
  "jest": {
    "preset": "react-native",
    "transform": {
      "^.+\\.jsx?$": "babel-jest"
    },
    "transformIgnorePatterns": [
      "node_modules/(?!react-native|react-navigation)/"
    ]
  },
  "dependencies": {
    "axios": "^0.18.0",
    "babel-preset-env": "^1.6.1",
    "expo": "^28.0.0",
    "native-base": "^2.6.1",
    "prop-types": "^15.6.2",
    "react": "^16.2.0",
    "react-dom": "^16.4.1",
    "react-native": "^0.49.5",
    "react-native-elements": "^0.19.1",
    "react-native-pages": "^0.7.0",
    "react-native-sensitive-info": "^5.1.0",
    "react-native-swiper": "^1.5.13",
    "react-native-vector-icons": "^4.5.0",
    "react-navigation": "^2.9.3",
    "react-redux": "^5.0.7",
    "react-scripts": "^1.1.4",
    "redux": "^3.7.2",
    "redux-axios-middleware": "^4.0.0",
    "redux-persist": "^5.10.0",
    "redux-persist-sensitive-storage": "^1.0.0",
    "redux-thunk": "^2.3.0",
    "tcomb-form-native": "^0.6.14",
    "util": "*"
  }
}

.babelrc:

{
  "presets": [["env", {"modules": false}], "react-native"],
  "env": {
    "test": {
      "presets": [["env", {"modules": false}], "react-native"]
    }
  }
}

标签: reactjsreact-nativebabeljs

解决方案


通过降级反应依赖修复了该错误。


推荐阅读