e.target.value выдает мне эту ошибку всякий раз, когда я вводю более одной буквы, реагирую Uncaught TypeError: Невозможно прочитать свойство 'value' of null " - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь обновить свое значение useState с тем, что используется, поэтому я использую setObject(prev => ({...prev, MachineName: e.target.value }));, но всякий раз, когда я вношу больше чем букву, я получаю эту ошибку "Uncaught TypeError: Невозможно прочитать свойство 'value' из null"

const [object, setObject] = useState({
   MachineName: "",
   Building: "",
   IP: ""
});

const actionHandler = () => {
  //setObject({ MachineName: " ", Building: " ", IP: " " });
};
function UpdateValue(e) {
    setObject(prev => ({ ...prev, MachineName: e.target.value }));
    console.log("Test", object.MachineName);
}
return (
  <Modal
    show={true}
    size="lg"
    aria-labelledby="contained-modal-title-vcenter"
    centered
  >
    <Modal.Header closeButton>
    <Modal.Title>New Machine</Modal.Title>
  </Modal.Header>
  <Modal.Body>
    <Form>
      <Row>
        <Col>
          <FloatingLabelInput
            id="1"
            className="FormFields"
            label="Machine Name"
            value={object.MachineName}
            onInput={e => UpdateValue(e)}
          />
        </Col>

      </Row>


    </Form>
  </Modal.Body>

</Modal>
);

1 Ответ

1 голос
/ 18 февраля 2020

Давайте попробуем задать некоторые значения по умолчанию и, возможно, связать среду (с функцией стрелки) следующим образом:

const UpdateValue = e => {
  const { target = {} } = e || {};
  const { value = "" } = target || {};
  setObject(prev => ({ ...prev, MachineName: value }));
  console.log("Test", object.MachineName);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...