未编辑中的输入字段..如何在reactjs中为输入字段编写onchange函数

未编辑中的输入字段..如何在reactjs中为输入字段编写onchange函数,reactjs,Reactjs,我正在将道具值发送到输入字段。当我试图编辑 字段未编辑..如何编写onchange句柄函数.有人可以吗 简要解释受控和非受控输入 handleUserInput = (e) => { //what to do here in order to edit the input field } render() { return( <div> <div className="info"> &l

我正在将道具值发送到输入字段。当我试图编辑 字段未编辑..如何编写onchange句柄函数.有人可以吗 简要解释受控和非受控输入

handleUserInput = (e) => {
//what to do here in order to edit the input field
}
render() {
    return(
        <div>
            <div className="info">
                <label className="label">Store Name</label>
                <input type="text" 
                    ref="storename"                                                                                       
                    className="form-control"                                                                                       
                    value={this.props.storeName}                                                                                       
                    placeholder="Store Name"                                                                                                                                                                          
                    onChange={this.handleUserInput}                                                                                       
                    disabled={this.state.disabled}
                />                                
            </div>
        </div>
    );
}
handleUserInput=(e)=>{
//要编辑输入字段,在此处执行什么操作
}
render(){
返回(
店名
);
}
更改此选项:

value={this.props.storeName}                                                                                       
为此(否则输入值始终相同-道具中接收的值):

并将道具复制到构造函数中的状态(仅当使用道具作为初始值时,才应在构造函数中执行此操作):


现在我们已经将输入框设置为受控元素(初始值取自道具)。如果您对受控组件感兴趣,可以更多地查看,这并不难理解。

这很好,但我的问题是,我有一个商店列表的下拉列表。当我选择on store时,它将显示特定的商店详细信息。其中输入字段是可编辑的。在这种情况下,第一次选择in working fyn。当我尝试选择另一家商店时,状态没有更新。在我的控制台中,数据根据选择正常工作。我的非常感谢你们,今天我学到了关于父母道具和孩子状态的新东西。
value={this.state.storeName}                                                                                       
constructor(props){
  super(props)
  this.state = {
    storeName: props.storeName
  }
}
handleUserInput=(e)=>{
  this.setState({storeName: e.target.value});
}