Ich habe den folgenden Code:
%Vor%Ich bekomme immer die Fehlermeldung:
%Vor%wenn "onPress" "this.about" aufruft. Ich habe ein console.log innerhalb der Renderfunktion platziert und konnte sehen, dass this.props.nav einen Wert enthielt. Das Problem tritt in der Funktion about () auf und ich bin nicht sicher warum.
Irgendwelche Vorschläge wären großartig?
Danke
Ich kann nicht sicher sein, aber das sieht für mich wie ein Javascript this
bindendes Problem aus. In ReactJS-Komponenten, die mit der ES6-Klassensyntax definiert sind, wird nicht automatisch gebunden this
, also wirst du von Javascripts Regeln gebissen, die den Wert von this
variieren abhängig davon, wie eine Funktion aufgerufen wird.
Sie müssen möglicherweise .bind
explizit verwenden, wenn Sie den Button-Handler setzen:
Also ist this
in der Funktion about()
identisch mit this
in der Funktion render()
, in der Sie den Handler eingerichtet haben.
Ich fand ein Repo , das andere Methoden zur Lösung des gleichen Problems zeigt, wie das Binden in einem Konstruktor oder verwenden Sie "Fettpfeil" -Funktionen für Ihren Handler.
Meine Erfahrung ist mit der Verwendung von React für das Web, und ich bin mir nicht sicher, ob sich React Native in diesem Bereich unterscheidet.
Tags und Links react-native