2016-05-27 13 views
5

Ich versuche, auf die neueste Version von react-native (react-native-0.26.2) zu aktualisieren, damit ich react-native-Flux-Router verwenden kann.Wie reakt-native auf die neueste Version zu aktualisieren

ich diese Störung erhalte: screenshoterror

Die Chromkonsole nur Standard-Fehlermeldungen anzeigt.

Hier ist meine package.json Datei

 "dependencies": { 
    "@remobile/react-native-splashscreen": "^1.0.3", 
    "firebase": "^3.0.3", 
    "jwt-decode": "^2.0.1", 
    "moment": "^2.12.0", 
    "node-uuid": "^1.4.7", 
    "q": "^1.4.1", 
    "react": "15.0.2", 
    "react-native": "0.26.2", 
    "react-native-action-button": "^1.1.4", 
    "react-native-android-statusbar": "^0.1.2", 
    "react-native-animatable": "^0.6.0", 
    "react-native-button": "^1.5.0", 
    "react-native-device-info": "^0.9.3", 
    "react-native-drawer": "^2.2.3", 
    "react-native-file-uploader": "0.0.2", 
    "react-native-gifted-spinner": "0.0.4", 
    "react-native-image-picker": "^0.18.17", 
    "react-native-keep-screen-on": "^1.0.3", 
    "react-native-maps": "^0.4.2", 
    "react-native-modalbox": "^1.3.3", 
    "react-native-orientation": "^1.16.0", 
    "react-native-router-flux": "^3.26.5", 
    "react-native-simple-store": "^1.0.1", 
    "react-native-vector-icons": "^2.0.2", 
    "react-timer-mixin": "^0.13.3", 
    "underscore": "^1.8.3" 
    }, 
    "devDependencies": { 
    "eslint": "2.10.2", 
    "eslint-plugin-react": "5.1.1", 
    "eslint-plugin-react-native": "1.1.0-beta" 
    } 

Hier Ausgabe von adb logcat ist

logcat output

Schritte zum Upgrade genommen: Hinweis * Um die aktuelle Einstellung an die Arbeit

"react-native": "0.25.1", "react": "0.14.5", "react-native-router-flux": "3.22.23"

Ich musste installieren l diese spezifische Version von

"assert": "1.3.0"

. Grund ist, dass ich eine Pufferausnahme bekommen habe und nachdem ich das gefunden habe, habe ich solution to unknown module buffer

gefunden. Als ich versuchte, zu aktualisieren, bekam ich die späteste Version von reagierendem und reagiere. Ich herabgestuft dann die Version von reagieren, nachdem die Warnmeldung sehen, die native reagieren erfordert

"react": "15.0.2"

Ich entfernte dann das assert-Paket. Ich habe alles versucht, die App zu deinstallieren und neu zu kompilieren, ich habe versucht, den Computer und das Telefon neu zu starten. Das einzige, was ich von der Suche gefunden ist dies search result

Also auch ich die neueste Version von babel global installiert ist, nicht sicher, dass, obwohl so gut wie nichts getan hat. Ich habe dann auch sichergestellt, dass ich in allen Ansichten etwas im Konstruktor hatte.

export default class Home extends Component { 
    constructor(props) { 
     super(props); 
     this.state = { 
      foo: 'bar' 
     } 
    } 

Ich bin mir nicht sicher, was ich als nächstes tun soll, weil es keine nützlichen Fehler in der Konsole gibt.

+0

Können Sie die Schritte, die Sie bisher gemacht haben in den Upgrade-Prozess Liste? –

+1

Sicher Sache. Wird in etwa einer Stunde vor dem Computer sein – texas697

+0

Siehe Update bitte – texas697

Antwort

5

Mit React Native 0.26 und höher ist React selbst nicht mehr mit React Native gebündelt. Dieser Fehler scheint durch eine propType Definition verursacht zu werden, bei der Ihre oder eine Drittanbieterkomponente versucht, PropTypes.object zu verwenden.

Sie müssen entweder die fehlerhafte Komponente aktualisieren oder Ihre eigenen ändern PropTypes direkt aus dem react Paket wie diese zuzugreifen:

import React, { Component, PropTypes } from 'react'; 

class SomeComponent extends Component { 
    static propTypes = { 
    someProp: PropTypes.object 
    }; 
} 
+0

Es gibt ein Skript, das das für Sie tut, wenn Sie eine große Anzahl von Dateien haben. Schaut es euch [hier] an (https://github.com/sibeliusseraphini/codemod-RN24-to-RN25)! –

Verwandte Themen