javascript - react - Reaccionar entrada enChange no disparará
react js init (1)
Tratar:
onChange={(evt) => this.changeTitle(evt)}
o:
onChange={this.changeTitle.bind(this)}
en lugar de:
onChange={this.changeTitle}
Actualmente tengo esta aplicación de reacción simple y no puedo hacer que estos eventos de cambio se disparen por mi vida.
var BlogForm = React.createClass({
getInitialState: function() {
return {
title: '''',
content: ''''
};
},
changeTitle: function(event) {
var text = event.target.value;
console.log(text);
this.setState({
title: event.target.value
});
},
changeContent: function(event) {
this.setState({
content: event.target.value
});
},
addBlog: function(ev) {
console.log("hit hit");
},
render: function() {
return (
<form onSubmit={this.addBlog(this)}>
<div>
<label htmlFor=''picure''>Picture</label>
<div><input type=''file'' id=''picture'' value={this.state.picture} /></div>
</div>
<div>
<input className="form-control" type=''text'' id=''content'' value={this.state.title} onChange={this.changeTitle} placeholder=''Title'' />
</div>
<div>
<input className="form-control" type=''text'' id=''content'' value={this.state.content} onChange={this.changeContent} placeholder=''Content'' />
</div>
<div>
<button className="btn btn-default">Add Blog</button>
</div>
</form>
);
}
});
Lo curioso es cuando uso onChange={this.changeTitle (this)}
, el evento se dispara pero la variable ev en la función changeTitle
no es la correcta.