2016-05-27 48 views
5

Sto tentando di eseguire l'aggiornamento all'ultima versione di react-native (react-native-0.26.2) in modo da poter utilizzare react-native-flux-router.Come aggiornare react-native all'ultima versione

sto ottenendo questo errore: screenshoterror

La console Chrome mostra solo i messaggi di errore di default.

Ecco il mio file package.json

 "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" 
    } 

Qui viene emesso dal logcat ADB

logcat output

misure adottate per l'aggiornamento: Nota * Per ottenere l'impostazione corrente di lavorare

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

Ho dovuto installare l questa versione specifica di

"assert": "1.3.0"

. Reason sta ricevendo un'eccezione di buffer e dopo aver cercato questo è quello che ho trovato solution to unknown module buffer

Quando ho provato ad aggiornare ho ottenuto l'ultima versione di react-nativo e reagire. Ho poi declassato il versione di reagire dopo aver visto il messaggio di avviso che reagiscono-nativa richiede

"react": "15.0.2"

Ho quindi rimosso il pacchetto assert. Ho provato di tutto da disinstallare l'app e ricompilare, ho provato a riavviare sia il computer che il telefono. L'unica cosa che ho trovato dalla ricerca è questa

Quindi ho persino installato l'ultima versione di babel a livello globale, non sono sicuro che abbia fatto molto di tutto comunque. Poi ho anche fatto in modo di avere qualcosa nel costruttore in tutte le viste.

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

Non so cosa fare dopo perché non ci sono errori utili nella console.

+0

Riesci a elencare i passi che avete preso finora nel processo di aggiornamento? –

+1

Sicuro. Sarà davanti al computer tra circa un'ora – texas697

+0

Vedere l'aggiornamento per favore – texas697

risposta

5

Con React Nativo 0,26 e versioni successive, React stesso non è più associato a React Native. Questo errore sembra essere causato da una definizione di propType in cui il tuo o un componente di terze parti tenta di utilizzare PropTypes.object.

È necessario aggiornare il componente di offendere o modificare il proprio per accedere PropTypes direttamente dal pacchetto react in questo modo:

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

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

C'è uno script che fa questo per te se hai un gran numero di file. Controllalo [qui] (https://github.com/sibeliusseraphini/codemod-RN24-to-RN25)! –

Problemi correlati