var React = require('react')
module.exports = React.createClass({
getInitialState : function () {
return {
value : this.props.value
}
},
handleChange : function (e) {
this.setState({
value : this.refs.mytextArea.getDOMNode().value
})
console.log(this.state.value)
console.log()
},
render : function () {
return (
<div className="col-sm-5 col-sm-offset-1">
<textarea ref='mytextArea' className="form-control" rows="27" style= {{resize: "none"}} defaultValue={this.state.value} onChange={this.handleChange}></textarea>
</div>
)
}
})
并且我使用这个getDOMNode()提示出错,直接使用this.refs.mytextArea.value就可以成功获得值,但是获得的是change之前的值。
我想获得我改变之后的值,但是我handleChange的console.log输出的是change之前的值,为什么呢?
首先,getDOMNode 是 ReactDOM 的方法。
然后,应该用
e.target.value
去拿值。