【发布时间】:2018-11-05 18:13:50
【问题描述】:
我有一个子组件,它有一个文本输入字段,其值应该使用来自父组件 (this.props.index) 的道具进行初始化。
这应该是受控输入,因为我希望能够存储输入的文本。
现在,如果我将值设置为 state 的属性,那么无论何时重新渲染组件,它都不会更新,因为 setState 永远不会被调用:
<input type={"text"} placeholder={"Index"} className={"form-control"}
value={this.state.index} onChange={this.updateStudentIndex}/>
另一方面,如果我将值设置为道具的属性,它是固定的,无法进行更改:
<input type={"text"} placeholder={"Index"} className={"form-control"}
value={this.props.index} onChange={this.updateStudentIndex}/>
我怎样才能使用this.props.index 初始化状态,并且仍然能够跟踪输入值this.state.index 的变化?
编辑:初始化应该在异步模式下完成,即当我单击父组件中的按钮时。
【问题讨论】:
标签: reactjs