react中的input值如何同步props

新手上路,请多包涵
//constructor
this.state = {value: this.props.data.sid};
  handleChange(event) {
    this.setState({value: event.target.value});
  }

value的初始值和data.sid的值如何同步,sid发生改变后,vlaue并没有变化

//render
<input value={this.state.value} onChange={this.handleChange}/>
阅读 3.6k
4 个回答

你这种情况完全没有必要设置state直接用props.data就ok了

<input value={this.props.data.sid} onChange={this.props.handleChange}/>

在父组件维护好data.sid就ok了

加个生命周期,componentWillReceiveProps,在这个生命周期里更新state就好了

<input value={this.props.data.sid} onChange={this.handleChange}/>

维护父组件 input中的onchange方法也从父组件传递下来 这样input中的值只要调用props.data.sid就行,原来你把父组件的props绑定在子组件的state中除了第一次后来不会给state赋值了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题