Obtengo algo de valor del backend y estoy en estado de cadena y uso throw formik cuál es mi tarea. establecido en el valor inicial y creo un estado y lo actualizo en onClick, pero si estoy verificando en la consola, obtengo el valor inicial, pero en la interfaz de usuario no sucede nada, vea la imagen como referencia
const [formValue, setFormValue] = useState(null); useEffect(() => { fetchSearchRule(rules); }, []); let initialValues = { exactNameMatch: rules.exactNameMatch, partialNameMatch: rules.partialNameMatch, partialNameMatchThreshold: rules.partialNameMatchThreshold, exactDOBMatch: rules.exactDOBMatch, partialDOBMatch: rules.partialDOBMatch, partialDOBMatchThreshold: rules.partialDOBMatchThreshold, countryMatch: rules.countryMatch, zipCodeMatch: rules.zipCodeMatch, completeAddressMatch: rules.completeAddressMatch, partialAddressMatchThreshold: 50, allSanctionsList:checked, FormChangeCount: 0, }; const ruleForm = useFormik({ initialValues, enableReinitialize: true, onSubmit: (values) => { updateSearchRules(values); setChangeRuleSettings(false); ruleForm.values.FormChangeCount = 0; }, }); <Box> <Typography onClick={() => {setFormValue(initialValues) setChangeRuleSettings(false); }} color="secondary" variant="subtitle2" style={{ cursor: "pointer" }} > Reset Rule </Typography> </Box>Me cuesta un poco entender lo que preguntas, pero intentaré responderte. Si todo lo que desea es restablecer todo el formulario cuando el usuario hace clic en el texto Restablecer regla , utilice la función de resetForm :
<Box> <Typography onClick={ruleForm.resetForm} color="secondary" variant="subtitle2" style={{ cursor: "pointer" }} > Reset Rule </Typography> </Box> Si desea restablecer algunos valores en el formulario pero no todos, pase esos nombres de entrada a resetForm() :
onClick={()=>{ ruleForm.resetForm({ values: { partialDOBMatchThreshold: rules.partialDOBMatchThreshold } }) }} Además, elimine formValue del estado, no es necesario.