Ich folge einem Anfänger-Tutorial von Pluralsight, beim Senden des Formulars wird ein Wert an addUser
component method übergeben und ich muss userName auf this.state.users
schieben, aber ich bekomme den Fehler
Komponente
%Vor% Wenn Sie {this.addUser}
aufrufen, wird es aufgerufen, hier ist this
eine Instanz Ihrer Klasse (Komponente) und gibt Ihnen daher keinen Fehler, weil addUser
method in Ihrer Klasse scope
existiert.
Wenn Sie jedoch unter addUser
-Methode sind, verwenden Sie this
, um die state
zu aktualisieren, die in vorhanden sind
der Umfang der Klasse (Komponente), aber derzeit sind Sie im Rahmen der addUser
-Methode und es gibt Ihnen einen Fehler wie unter addUser
Scope haben Sie nichts wie Staat, Benutzer usw.
Um dieses Problem zu lösen, müssen Sie this
binden, während Sie addUser
method aufrufen. So kennt Ihre Methode immer die Instanz von this
.
Die endgültige Änderung in Ihrem Code sieht dann so aus: -
%Vor%ODER
Sie könnenthis
im Konstruktor binden, da dies der Ort ist, an dem Sie Dinge initialisieren sollten, da Konstruktormethoden zuerst aufgerufen werden, wenn die Komponenten in DOM
rendern.
So können Sie es auf diese Weise tun: -
%Vor%Und jetzt kannst du es auf normale Weise wie zuvor nennen: -
%Vor%Ich hoffe, das wird funktionieren, und ich habe es dir klar gemacht.
Tags und Links reactjs