Ich habe eine React/Redux/Firebase-App und ich muss den Benutzernamen des aktuellen Benutzers vor der Render-Methode überprüfen, damit ich weiß, ob ich zur db gehen und einen anderen Benutzer abrufen muss.Wie kann ich auf den aktuellen React/Redux-Benutzer außerhalb der Rendermethode zugreifen?
jedoch aus irgendeinem Grund bin ich nicht klar, kann ich auf nicht this.props.currentUser
außerhalb des Verfahrens machen. Es gibt null zurück.
Grundsätzlich möchte ich dies innerhalb einer Funktion zugreifen. Mein Code sieht wie folgt aus:
componentDidMount() {
var userURL = window.location.pathname.replace(/^\/([^\/]*).*$/, '$1');
if(this.props.currentUser.username !== userURL) {
this.getDbUser(userURL);
console.log(userURL);
}
}
Ich erhalte eine Fehler
Cannot read property username of null
ich, dass die Daten in Ordnung in render()
zugreifen können. Irgendeine Idee, wie man das beheben könnte, wäre großartig. Vielen Dank!
Chancen sind Ihre Render-Methode läuft zweimal und auf dem zweiten Durchlauf wird der Benutzer definiert. Deshalb funktioniert es in render – corvid
Danke, Render läuft in der Tat zweimal, nicht sicher warum. Ich rufe eine fetchUser-Methode im Konstruktor auf, sollte sie also nicht auf der ganzen Linie verfügbar sein? –
nicht, wenn es async ist – corvid