У меня есть функциональный компонент Form
. Мне нужно выставить из нее функцию validate
.
При проверке обычно используются переменные состояния внутри формы.
Теперь я не могу придумать, как это можно сделать, чтобы какой бы компонент не использовал form
, он может просто проверять форму, как показано ниже
const { validateForm } = Form;
const isFormValid = validateForm();
При условии, что моя форма выглядит следующим образом
const Form = () => {
const isError = () => {}
const isEmpty = () => {}
const validate = () => {
return isError() || isEmpty();
}
}
Есть ли способ сделать это с помощью хуков ? В данный момент я не могу просто разобраться в этом.
PS - Я полностью понимаю, что это нарушает философию декларативного и является императивным способом, но есть случаи использования, где это требуется. Особенно когда люди выставляют это через библиотеки. Ant design тоже это делает - https://ant.design/components/form/
Так что я в полном порядке.