我正在使用React与后端通信。现在尝试正确实现Formik(表单库)。
主要问题: 如何正确使用Formik的setError方法?
客户端验证错误可以正确显示,但是现在我尝试设置/显示后端验证错误,这些错误将通过状态码400的响应返回。
链接到我尝试使用的方法的文档
我在下面的代码中名为handle400Error的方法中使用此方法。
我的React(和Formik)代码:
import React, { Component } from "react";
import axios from "axios";
import { Formik } from "formik";
import * as Yup from "yup";
import styled from "styled-components";
import FormError from "../formError";
const Label = styled.label``;
class LoginForm extends Component {
initialValues = {
password: "",
username: ""
};
getErrorsFromValidationError = validationError => {
const FIRST_ERROR = 0;
return validationError.inner.reduce((errors, error) => {
return {
...errors,
[error.path]: error.errors[FIRST_ERROR]
};
}, {}); …Run Code Online (Sandbox Code Playgroud)