Реагировать на useState при отправке формы - хуки - PullRequest
0 голосов
/ 17 июня 2020

Я хочу отправить один ввод для отправки, а не для события OnChange. Пока я сделал код ниже:

<form onSubmit={onSubmitHandler}>
        <Input className="form-control mb-3" type="text" name="name" placeholder="Enter To Do Items"/>
        <Button classProp="btn btn-warning btn-block">Submit</Button>
</form>

const [toDoName, setToDoName] = useState([]);

const onSubmitHandler = (event) => {
    event.preventDefault();
    setToDoName( prevState => [
        ...prevState,
        event.target['name'].valueame
    ])
}

Как я могу установить состояние при отправке

1 Ответ

1 голос
/ 17 июня 2020

Synthetic events are pooled by React for reuse, и поскольку вы используете значение события в обновлении функционального состояния, оно выдает ошибку, поскольку значения события очищаются до того, как произойдет обновление. Сохраните значение перед обновлением состояния или используйте event.persist() для сохранения значений событий

const onSubmitHandler = (event) => {
    event.preventDefault();
    const value = event.target['name'].valueame; // make sure you use correct property from event
    setToDoName( prevState => [
        ...prevState,
        value
    ])
}
...