2017-09-12 4 views
0

Ich habe Probleme beim Zugriff und Definition von Zustand. Meine App verwendet Reaktivnavigation. Insgesamt kann ich innerhalb meiner App immer mit dem Status arbeiten (ohne Fehler), aber innerhalb der primären Tabbar-Bildschirme bekomme ich einen "Null ist kein Objekt" -Fehler, wenn ich eine einfache Definition des Zustands verwende, wie ich unten tue.this.state in Reagieren-Navigation Bildschirm

ich nicht bin mit redux

export class Review_Screen extends React.Component { 
 

 
    // set title at the top of the page 
 
    static navigationOptions = ({navigation}) => ({ 
 
    title: navigation.state.params.title 
 
    }); 
 

 
    constructor(props) { 
 
    super(props); 
 
    const { params } = this.props.navigation.state; 
 
    this.state = { 
 
     // general ID info 
 
     barcode: params.productdata.barcode, 
 
     userID: params.user.ID, 
 
     username: params.user.name, 
 
     expanded: false, 
 
     testing: 'hallo hallo', 
 
    }; 
 
    } 
 

 
    render() { 
 
    console.log('-_-_-_-_-_-_-_-_-_-_-_-_-'); 
 
    console.log(this.state.testing); 
 
    console.log('-_-_-_-_-_-_-_-_-_-_-_-_-'); 
 
    const { params } = this.props.navigation.state; 
 
    
 
etc... 
 

 
// results in error "null is not an object (evaluating 'this.state.testing') 
 

 

 

Ich nehme an, das liegt daran, soll ich mit Zustand anders arbeiten, wenn ich innerhalb reagieren Navigation bin.

Wie definiere ich einige lokale Zustandsvariablen? Was ist die beste Vorgehensweise? Ich werde irgendwann zu redux gehen, bin aber noch nicht dazu bereit.

Antwort

1

Nun, das ist peinlich. Das Problem trat auf, weil ich mein Reactive-Native auf "hot re-loading" hatte, während ich codierte.

Das bedeutet im Grunde genommen, dass ich nach einer Variablen gefragt habe, die nicht definiert wurde, weil der Konstruktor nicht aufgerufen wurde (die App war während der Codierung live).

Sobald ich die App neu starten oder neu zu laden, dann tut er den Zustand definieren (weil während zunächst die App laden sie den Konstruktor() aufruft.

Hope this jemand anderes dient ..

Verwandte Themen