import React, { useState } from "react";
function App() {
const [name, setName] = useState("");
const [headingText, setHeadingText] = useState("");
function handleChange(event) {
// console.log(event.target.value);
setName(event.target.value);
}
function handleClick(event) {
setHeadingText(name);
//after everything is done
event.preventDefault();
}
return (
<div className="container">
<h1>Hello {headingText}</h1>
<form onSubmit={handleClick}>
<input
onChange={handleChange}
type="text"
placeholder="What's your name?"
value={name}
/>
<button type="submit">Submit</button>
</form>
</div>
);
}
export default App;
Я буду использовать приведенный выше код, чтобы задать свой вопрос. элемент ввода обрабатывает изменение своего состояния с помощью пользовательского ввода (атрибут значения), но реакция использует переменную состояния для обработки изменения состояния. Чтобы иметь одно постоянное значение, мы устанавливаем переменную реакции для обработки изменения состояния элемента формы.
value={name}
но если мы это сделаем, а затем получим доступ к значению, введенному пользователем через event.target.value, как он сможет отслеживать, что пользователь вводит в поле ввода, поскольку мы установили значение = {имя}. Разве event.target.value не должен давать нам значение переменной имени вместо пользовательского ввода