Когда Formik запускает проверку, все мои поля проверяются. Одна из моих операций действительно дорогая (поиск БД). Я бы не хотел выполнять эту проверку, если она не изменилась. Как мне этого добиться?
Я использую withFormik Компонент высшего порядка.
Один из вариантов, который я рассмотрел, - отслеживать текущее значение и последнее проверенное значение. Если отличается, то запустите проверку. Возможно, это может быть const [lastValidated, setLastValidated] = useState();
в базовом компоненте. Но я не уверен, как получить доступ к состоянию на моем базовом компоненте.
const Guest = (props) => {
// maybe lastValidated here?
};
const formikEnhancer = withFormik({
validate: (values, props) =>
new Promise((resolve, reject) => {
const errors = {};
// Runs validation on all fields
}
});
export default formikEnhancer(Guest);