JavaScript — сброс значений состояния после onSubmit, даже если не удалось

Сброс значений состояния после onSubmit, даже если он не был успешным

У меня есть форма, и если я делаю отправку, и она возвращает ошибку, я запрограммировал ее, чтобы показать мне, где ошибки. После исправления только ошибок, и я отправляю его, происходит сбой, потому что состояния сбрасываются и пустые значения отправляются в API. Я покажу код ниже:

 const AddProject = (props) ={amp}gt; { const [values, setValues] = useState({ projectName: '', projectIdentifier: '', description: '', startDate: '', endDate: '', errors: {}, }); useEffect(() ={amp}gt; { if (props.errors) { setValues({ errors: props.errors }); } }, [props.errors]); const onChange = (e) ={amp}gt; { const { name, value } = e.target; console.log(values); setValues({ ...values, [name]: value }); }; const onSubmit = (e) ={amp}gt; { e.preventDefault(); const newProject = { projectName: values.projectName, projectIdentifier: values.projectIdentifier, description: values.description, startDate: values.startDate, endDate: values.endDate, }; props.createProject(newProject); }; 
 const createProject = (project) ={amp}gt; async dispatch ={amp}gt; { try { await axios.post('http://localhost:8080/api/project', project); window.history.back(); } catch (e) { dispatch({ type: GET_ERRORS, payload: e.response.data }); } }; export default createProject; 
Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector