Я пытаюсь написать функциональный компонент, который включает <input>
, но я получаю «Компонент изменяет неконтролируемый ввод текста типа для управления».ошибка и не могу понять, что я делаю неправильно.
Я сократил свой код до этого, что воспроизводит проблему:
function Input({ value, onChange }) {
const [text, setText] = useState(value);
function update(event) {
setText(event.target.value);
if (typeof onChange === "function") {
onChange(event.target.value);
}
}
return (
<input type="text" value={text} onChange={update} />
);
}
Я не совсем уверен, какиспользовать useState
здесь, чтобы сделать это контролируемым элементом - потому что это явно не работает: (
Что я делаю не так?