我有一个formik
用于编辑来自 API 端点的数据的表单,目前我正在重新初始化useEffect
像这样挂钩
React.useEffect(() => {
initialValues.first_name = address?.first_name;
initialValues.last_name = address?.last_name;
initialValues.middle_name = address?.middle_name;
initialValues.label = address?.label;
initialValues.description = address?.description;
}, [address, initialValues]);
由于表单有很多值useEffect
钩子变得很长而且看起来也不干净,我试图找到一种方法在一行中完成它,这样它就不会得到一大段代码。
所以当我使用 formik.setValues 时它起作用了,因为它返回一个承诺,所以我把它放在一个异步函数中。formik.setValues https://formik.org/docs/api/formik#setvalues-fields-reactsetstateaction-field-string-any--shouldvalidate-boolean--void
React.useEffect(() => {
async function setInitialValues() {
if (address) await formik.setValues(address, false);
}
setInitialValues();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [address]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)