Ich arbeite in einem Projekt mit react.js und fire-base, ich habe ein Formular, wenn ich die Eingabe mit meinem Zustand, der mit Daten des Feuers gefüllt ist -Base, und funktioniert, ich kann aktualisieren und neue Registrierung erstellen, aber ich denke, dass meine onChangeHandle()
für die Eingaben nicht die richtige Methode ist, es zu tun.Setzen eines Zustandes in react.js mit Zwei-Wege-Bindung
This is my form:
render(){
return (
<div className="row">
<div className="col-xs-3 col-sm-3 col-md-3 col-lg-3"></div>
<div className="col-xs-6 col-sm-6 col-md-6 col-lg-6">
<div className="form-group">
<label >Nombre de Proyecto</label>
<input type='text' value={this.state.proyectName} onChange={(event)=>this.onChangeHandle('p',event)}className="form-control" id="project_name"/>
</div>
<div className="form-group">
<label >Inspiracion</label>
<textarea value={this.state.inspiration} onChange={(event)=>this.onChangeHandle('i',event)} rows="4" cols="50" className="form-control" id="inspiration"/>
</div>
<div className="form-group">
<label >Que problema resuelve</label>
<textarea value={this.state.whatDoes} onChange={(event)=>this.onChangeHandle('w',event)} rows="4" cols="50" className="form-control" id="what_does"/>
</div>
<div className="form-group">
<label >Como esta hecho</label>
<textarea value={this.state.howBuild} onChange={(event)=>this.onChangeHandle('h',event)} rows="4" cols="50" className="form-control" id="how_build"/>
</div>
<div className="form-group">
<label >Integrantes</label>
<input type='text' className="form-control" id="team"/>
</div>
<div className="form-group">
<button className="form-control btn btn-primary" onClick={()=>this.writeStartupData()} >Agregar </button>
</div>
</div>
</div>
)
}
Und hier ist mein Event-Handler:
onChangeHandle(exp,event){
switch(exp){
case "p":
this.setState({
proyectName: event.target.value,
});
break;
case "i":
this.setState({
inspiration: event.target.value,
});
break;
case "w":
this.setState({
whatDoes: event.target.value,
});
break;
case "h":
this.setState({
howBuild: event.target.value,
});
break;
case "t":
this.setState({
team: event.target.value,
});
break;
}
}