2016-03-23 10 views
1

Ich bin verwirrt darüber, warum kann ich nicht klar <input> Feldwerte dieses einfache Muster mit mit React:Clearing Eingabefelder mit React

onComponentDidMount: function() { 
    this.clearFields(); 
}, 

clearFields: function() { 
    document.getElementById('username_field').value = ''; 
    document.getElementById('password_field').value = ''; 
}, 

Ich glaube nicht, dass es ein Problem mit React ist, ich denke, es eine andere Frage zur Hand, aber ich bin mir nicht sicher, was los ist. Aber die Felder verschwinden definitiv nicht. Später kann ich this.clearFields() aufrufen und diese Funktion funktioniert wie erwartet, aber nicht beim ersten Mounten der Komponente.

Antwort

2

Die richtige Reagieren Lifecycle-Funktion componentDidMount genannt wird, nicht onComponentDidMount

aber Sie nicht es auf diese Weise tun wollen, wenn die Eingänge auch mit React gerendert werden. In der Regel ist es besser und relevanter für die Anwendung, die im Zustand gespeicherten Werte zu ändern, und die Render-Funktion kann den Wert der Eingabefelder festlegen.

+0

vereinbart, Sie sollten dies in getInitialState tun, und this.setState ({}); wenn es darum geht zu reagieren – JordanHendrix