Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs React Native在启动屏幕后崩溃_Reactjs_React Native - Fatal编程技术网

Reactjs React Native在启动屏幕后崩溃

Reactjs React Native在启动屏幕后崩溃,reactjs,react-native,Reactjs,React Native,Metro Bundler没有给我任何消息,当我点击应用程序时,它什么也不做,也没有告诉我为什么它会崩溃。在localhost:8081/debugger用户界面上,我得到的是 WebSocket与“ws://localhost:8081/debugger proxy?role=debugger&name=Chrome”的连接失败:连接建立错误:net::ERR\u connection\u拒绝 但这一点也没有什么帮助,因为我确保8081还没有投入使用 这是我的环境: React Native

Metro Bundler没有给我任何消息,当我点击应用程序时,它什么也不做,也没有告诉我为什么它会崩溃。在
localhost:8081/debugger用户界面上,我得到的是

WebSocket与“ws://localhost:8081/debugger proxy?role=debugger&name=Chrome”的连接失败:连接建立错误:net::ERR\u connection\u拒绝

但这一点也没有什么帮助,因为我确保8081还没有投入使用

这是我的环境:

React Native Environment Info:
    System:
      OS: macOS High Sierra 10.13.6
      CPU: (8) x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
      Memory: 35.21 MB / 16.00 GB
      Shell: 5.3 - /bin/zsh
    Binaries:
      Node: 11.10.1 - /usr/local/bin/node
      Yarn: 1.10.1 - /usr/local/bin/yarn
      npm: 6.7.0 - /usr/local/bin/npm
      Watchman: 4.7.0 - /usr/local/bin/watchman
    SDKs:
      iOS SDK:
        Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
      Android SDK:
        API Levels: 23, 25, 26, 27, 28
        Build Tools: 23.0.1, 26.0.2, 27.0.3, 28.0.3
    IDEs:
      Android Studio: 3.4 AI-183.5429.30.34.5452501
      Xcode: 10.1/10B61 - /usr/bin/xcodebuild
    npmPackages:
      react: 16.8.3 => 16.8.3
      react-native: 0.59.9 => 0.59.9
    npmGlobalPackages:
      react-native-cli: 2.0.1
      react-native-git-upgrade: 0.2.7
外面有很多噪音,除了绕圈外,什么地方都没有

这是我的
package.json
文件:

"scripts": {
    "start": "nps",
    "test": "nps setup && nps test",
    "build": "nps build",
    "prepare": "nps patcher",
    "setup": "nps setup && nps appcenter",
    "react-devtools": "react-devtools"
  },
  "dependencies": {
    "appcenter": "2.0.0",
    "appcenter-analytics": "2.0.0",
    "appcenter-crashes": "2.0.0",
    "axios": "0.16.2",
    "date-fns": "^1.29.0",
    "lodash": "4.17.4",
    "moment": "2.20.1",
    "payment": "2.3.0",
    "prop-types": "15.6.0",
    "react": "16.8.3",
    "react-native": "0.59.9",
    "react-native-autoheight-webview": "0.6.1",
    "react-native-calendar-events": "1.6.1",
    "react-native-device-info": "0.21.5",
    "react-native-exception-handler": "2.8.9",
    "react-native-image-progress": "1.0.1",
    "react-native-immediate-phone-call": "1.0.0",
    "react-native-keyboard-aware-scroll-view": "0.4.4",
    "react-native-keyboard-manager": "4.0.13-12",
    "react-native-material-buttons": "0.5.0",
    "react-native-material-dropdown": "0.5.2",
    "react-native-material-tabs": "3.5.0",
    "react-native-material-textfield": "0.10.0",
    "react-native-onesignal": "3.0.7",
    "react-native-popup-menu": "0.8.3",
    "react-native-sentry": "0.32.0",
    "react-native-size-matters": "0.1.0",
    "react-native-splash-screen": "3.0.6",
    "react-native-svg": "6.3.1",
    "react-native-swipe-view": "https://github.com/jjd314/react-native-swipe-view",
    "react-native-tab-view": "1.3.2",
    "react-native-vector-icons": "6.1.0",
    "react-native-xcode-packager": "0.1.0",
    "react-navigation": "1.5.11",
    "react-redux": "5.0.6",
    "reactotron-react-native": "3.5.0",
    "reactotron-redux": "3.1.0",
    "recompose": "0.26.0",
    "redux": "4.0.1",
    "redux-thunk": "2.2.0",
    "replace-in-file": "3.1.1"
  },
  "devDependencies": {
    "@babel/core": "7.4.5",
    "@babel/plugin-proposal-optional-chaining": "7.2.0",
    "@babel/runtime": "7.4.5",
    "async": "2.6.0",
    "babel-cli": "6.24.1",
    "babel-eslint": "8.0.2",
    "babel-jest": "23.0.0",
    "babel-plugin-module-resolver": "3.0.0",
    "babel-preset-env": "1.4.0",
    "babel-preset-flow": "6.23.0",
    "babel-preset-stage-2": "6.24.1",
    "babel-watch": "2.0.6",
    "chalk": "1.1.3",
    "detox": "8.2.3",
    "eslint": "4.12.0",
    "eslint-import-resolver-babel-module": "4.0.0-beta.3",
    "eslint-plugin-import": "2.8.0",
    "eslint-plugin-prettier": "2.3.1",
    "eslint-plugin-react": "7.5.1",
    "flow-bin": "0.46.0",
    "fs-extra": "5.0.0",
    "jest": "23.0.0",
    "metro-react-native-babel-preset": "0.54.1",
    "nps": "5.7.1",
    "nps-utils": "^1.5.0",
    "patch-package": "5.1.1",
    "postinstall-prepare": "1.0.1",
    "prettier": "1.8.2",
    "prettier-eslint": "8.2.2",
    "react-devtools": "3.6.1",
    "react-test-renderer": "16.2.0",
    "redux-mock-store": "1.3.0",
    "yargs": "8.0.1"
  },
  "jest": {
    "preset": "react-native",
    "setupTestFrameworkScriptFile": "./jest-setup.js",
    "transformIgnorePatterns": [
      "/node_modules/(?!parse)/"
    ],
    "unmockedModulePathPatterns": [
      "react",
      "react-navigation",
      "axios",
      "redux",
      "redux-thunk",
      "lodash",
      "date-fns"
    ],
    "verbose": true
  },
  "detox": {
    "configurations": {
      "ios.sim.debug": {
        "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/NFIBEngage.app",
        "build": "xcodebuild -workspace ios/NFIBEngage.xcworkspace -configuration Debug -scheme NFIBEngage -sdk iphonesimulator -derivedDataPath ios/build",
        "type": "ios.simulator",
        "name": "iPhone 6"
      }
    },
    "test-runner": "jest"
  }
}

那么这是依赖性的问题吗?发生了什么事?上次我收到react native团队的任何人的来信时,他们告诉我需要将我的RN项目从0.53.3升级到0.59.9,我已经这样做了,现在我得到了一个应用程序,它会无声地崩溃

react-native-log-ios
只告诉我一些关于5秒钟内重生的消息。我在这里束手无策。如果我知道我的应用程序崩溃的原因,并且我试图安装
bugsnag
,但却发现它有自己的问题,所以我不想继续下去,那就太好了

有没有可靠的方法至少可以知道为什么应用程序在启动屏幕时崩溃,而不安装另一个监控软件包

我不一定认为这是一个版本问题,因为当我回到RN版本0.53.3时,那个版本在启动屏幕后也会崩溃

我没有完全探索的一个“解决方案”是运行
grep-R“View.proptypes.style”节点\ u模块

我确实运行了该命令,但如果问题是节点模块内部的代码,那么调整节点模块内部的代码对我来说是最佳做法吗

另外,正在崩溃的版本0.53.3不会返回任何结果,但是版本0.59.9会返回一堆文件。我只是不这么认为。导致版本0.53.3崩溃的原因必须是最终导致0.59.9崩溃的原因,但在升级之前和升级期间,应用程序没有崩溃


事实上,即使当我进入几个星期没有工作过的分支并尝试从那里启动应用程序时,它也会崩溃,所以这是模拟器的Xcode问题吗?

我可以通过进入spotlight并在
控制台中键入
来访问MacOS日志,清除控制台,然后在我试图在模拟器中打开应用程序时观察它

与大多数日志一样,将有很多内容需要查看,但错误消息是一个很好的起点:


由于未捕获异常而终止应用程序“RCTFatarException:未处理的JS异常:无法为组件:[object]创建样式化组件”,原因:“未处理的JS异常:无法为组件:[object]创建样式化组件”

当您运行
react native run iOS
时,应用程序是否在iOS模拟器上打开?@DanielGonzalez,很抱歉不清楚。当我点击模拟器内的应用程序时,它会打开启动屏幕,然后再次关闭。它会在远程调试器不运行的情况下运行吗?还可以在另一个终端上运行react native log android,这可能会告诉您崩溃的原因!无论是否使用远程调试器,它都不会打开。运行
react native log android
不会给我任何东西,而运行
react native log ios
只会给我以下信息:
com.apple.CoreSimulator.SimDevice.9E045643-4D13-41F4-A144-781A6513E884[24881](com.apple.securityuploaded):服务只运行了6秒钟。将respawn推出4秒。