Javascript 反应-如何使用handleInputChange函数更改状态值内的状态值?

Javascript 反应-如何使用handleInputChange函数更改状态值内的状态值?,javascript,reactjs,Javascript,Reactjs,我目前正在尝试使用一个输入字段来编辑状态值中的状态值。下面是一个州的例子 this.state = { modalDevice: { deviceName: "text" //this is what I want changed } } 下面是我的手柄输入更改功能: handleInputChange = (event) => { const { value, name } = event.target; this.setState(

我目前正在尝试使用一个输入字段来编辑状态值中的状态值。下面是一个州的例子

this.state = {
  modalDevice: {
    deviceName: "text" //this is what I want changed
  }
}
下面是我的手柄输入更改功能:

handleInputChange = (event) => {
    const { value, name } = event.target;
    this.setState({
      [name]: value,
    });
  };
下面是我称之为的字段:

                <TextField
                  label="Device Name"
                  value={this.state.modalDevice.deviceName}
                  name="deviceName"
                  variant="outlined"
                  required={true}
                  className="classes.textField"
                  style={{ width: 300 }}
                  onChange={this.handleModalInputChange}
                  InputLabelProps={{
                    classes: {
                      root: classes.cssLabel,
                      focused: classes.cssFocused,
                    },
                  }}
                  InputProps={{
                    classes: {
                      root: classes.cssOutlinedInput,
                      focused: classes.cssFocused,
                      notchedOutline: classes.notchedOutline,
                      input: classes.input,
                    },
                  }}
                />


如何执行此操作?

您可以使用spread操作符跨旧状态信息进行复制,然后再使用新内容覆盖它:

this.setState({
  ...this.state,
  modalDevice: {
    ...this.state.modalDevice
    [name]: value,
  },
});

您可以使用spread运算符跨旧状态信息进行复制,然后再使用新内容覆盖它:

this.setState({
  ...this.state,
  modalDevice: {
    ...this.state.modalDevice
    [name]: value,
  },
});

宾果,我不知道这是一件事,很酷!非常感谢。宾果,我不知道这是一件事,很酷!非常感谢。