我遇到了这个问题。我有一个Formik表单,如果道具传递了一个标志,我想重置它,然后在重置时将该标志设置为false,这样就不会陷入无限循环。
我这样子:
const component = ({ shouldResetForm, setShouldResetForm }) => {
return (
<Formik>
{({
someProps,
resetForm,
}) => {
const allFieldsAreEmpty = some stuff...;
if(allFieldsAreEmpty && shouldResetForm){
setShouldResetForm(false);
resetForm();
}
return ...;
}}
</Formik>
);
}
因此,我想它会引发该错误,原因是它正在渲染上更新某些内容,但是逻辑阻止了它进入无限循环。我该怎么做才能解决此问题?