最近公司的项目选择了react做为前端开发技术框架,做为一名vue的忠实粉丝也不得不硬着头皮上了,毕竟要吃饭。只能一边学习一边开发了,今天踩的坑是 input输入框动态绑定数据后不能输入。查阅了一番终于了解了,先上代码前端
import React, {Component, Fragment} from "react"; // 首先仍是引入须要使用的组件
class Fire extends Component { constructor(props) { super(props); this.state = { input_value:'', } } rander(){ return( <Fragment> <div> <input type='text' value={this.state.input_value} className='input' /> <button className='add'>新增<button> </div> <Fragment> ) } }
//这即是我动态绑定的数据,然而input框依然不能输入任何数据
几经折腾发现React的数据绑定不是这个简单的,还须要添加监听时间才行,因而便继续写vue
<input type="text" value={this.state.input_value} onChange={this.input_change.bind(this)} className='input'/>
// 这里使用了onChange事件去监听this.input_change,而且经过 .bind(this)将constructor传入到咱们的方法中
接下来在render后面继续写咱们的监听方法去绑定数据react
input_change(e){ this.setState({ input_value:e.target.value }) }
到这里咱们就能够为所欲为的在input框中输入代码了框架
完整代码以下学习
import React, {Component, Fragment} from "react"; class Fire extends Component { constructor(props){ super(props); this.state={ input_value:'', list:[], } } render() { return ( <Fragment> <div> <input type="text" value={this.state.input_value} onChange={this.input_change.bind(this)} className='input'/> <button className='add'>新增</button> </div> <ol className='list'> <li>这是一个待完成事项</li> <li>这是一个待完成事项</li> </ol> </Fragment> ) }; input_change(e){ this.setState({ input_value:e.target.value }) } } export default Fire