Reactive Native, NavigatorIOS, undefined ist kein Objekt (Bewertung 'this.props.navigator.push')

8

Ich versuche, NavigatorIOS zu verwenden, also in meinem index.ios.js habe ich:

%Vor%

Und dann in Home.js :

%Vor%

Das Problem, das ich habe, ist, dass wenn ich auf TouchableHighlight trigging onPress() klicke, ein Fehler auftritt:

%Vor%

Es scheint also, dass es nicht navigator von Requisiten finden kann, aber der Navigator sollte von NavigatorIOS ?

übergeben werden

Es scheint auch, dass die Home Komponente this.props.navigator wie pro Bild hat:

Irgendwelche Hinweise?

Ich habe ein paar Links gefunden (Leute, die genau das gleiche Problem haben, aber das hat nicht geholfen):

manosim 08.07.2015, 21:21
quelle

2 Antworten

20

Da du ES6 benutzt, musst du 'this' binden.

Zum Beispiel: onPress={this.onPress.bind(this)}

Bearbeiten: Noch eine andere Art, die ich in letzter Zeit verwendet habe, ist die Verwendung einer Pfeilfunktion für die Funktion selbst, da sie automatisch die äußere this bindet.

%Vor%     
Dave Sibiski 08.07.2015, 22:24
quelle
1

Sie können die Funktion in constructor an diese binden.

%Vor%

Dann verwenden Sie es beim Rendern ohne Bindung.

%Vor%

Dies hat den Vorteil, dass Sie mehrfach verwendet werden können und auch Ihre Rendermethode bereinigen können.

    
Anil 10.10.2016 14:37
quelle