Поднимите значение поля в родительское состояние: ребёнок получает value и callback, а родитель валидирует код и отправляет форму.
Можете реализовать передачу значения из дочернего поля в родительский компонент, чтобы родитель мог валидировать код и отправлять форму?
Поднимите значение поля в родительское состояние: ребёнок получает value и callback, а родитель валидирует код и отправляет форму.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Поднимите значение поля в родительское состояние: ребёнок получает value и callback, а родитель валидирует код и отправляет форму.
Пример для React; sendCode — переданная функция отправки, правило шести цифр здесь условное:
function CodeInput({ value, onChange }) {
return <input aria-label="Код" value={value}
onChange={event => onChange(event.target.value)} />;
}
function CodeForm({ sendCode }) {
const [code, setCode] = useState('');
const valid = /^\d{6}$/.test(code);
return <form onSubmit={event => {
event.preventDefault();
if (valid) sendCode(code);
}}>
<CodeInput value={code} onChange={setCode} />
<button disabled={!valid}>Отправить</button>
</form>;
}
useState импортируется из React. В приложении дополнительно нужны статус отправки, обработка ошибки и обязательная серверная валидация.