Reactjs 在react应用程序中显示express验证程序错误
我无法在useState loginError变量中存储对象的捕获错误。我正在尝试推送loginError空数组中对象的错误,但它不起作用。我正在使用useState存储对象的错误。我必须在这个问题上使用useEffectReactjs 在react应用程序中显示express验证程序错误,reactjs,express-validator,Reactjs,Express Validator,我无法在useState loginError变量中存储对象的捕获错误。我正在尝试推送loginError空数组中对象的错误,但它不起作用。我正在使用useState存储对象的错误。我必须在这个问题上使用useEffect import React,{useState,useEffect} from 'react'; import axios from 'axios'; const Register = () => { let initialState
import React,{useState,useEffect} from 'react';
import axios from 'axios';
const Register = () => {
let initialState = {
name:"",
email:"",
password:"",
}
const [state,setState] = useState(initialState);
const [loginError,setError] = useState([]);
const onChange = (e) => {
setState({ ...state, [e.target.name]: e.target.value });
};
const onSubmit = async(e) => {
e.preventDefault();
try {
const result = await axios.post("/api/users",state);
console.log(result)
} catch (error) {
console.log(error.response.data.errors)
setError([...loginError,error.response.data.errors])
}
};
return (
<div className="card">
<div className="card-header font-weight-bold">Register</div>
<div className="card-body">
{loginError.length !== 0 && (
loginError.map((obj,index)=>{
return(<div kdy={index}>
{obj.msg}
</div>
)
})
)}
<form onSubmit={onSubmit} noValidate>
<div className="form-group">
<label >Name</label>
<input type="name" required className="form-control" onChange={onChange}
placeholder="Enter
Name" name="name" />
</div>
<div className="form-group">
<label >Email address:</label>
<input required type="email" className="form-control" onChange={onChange}
placeholder="Enter
email" name="email" />
</div>
<div className="form-group">
<label >Password:</label>
<input required type="password" className="form-control" onChange={onChange}
placeholder="Enter password" name="password" />
</div>
<button type="submit" className="btn btn-primary">Submit</button>
</form>
</div></div>
)
}
export default Register;
import React,{useState,useffect}来自“React”;
从“axios”导入axios;
常量寄存器=()=>{
让initialState={
姓名:“,
电邮:“,
密码:“”,
}
常量[状态,设置状态]=使用状态(初始状态);
常量[loginError,setError]=useState([]);
const onChange=(e)=>{
setState({…state[e.target.name]:e.target.value});
};
const onSubmit=async(e)=>{
e、 预防默认值();
试一试{
const result=wait axios.post(“/api/users”,state);
console.log(结果)
}捕获(错误){
日志(error.response.data.errors)
setError([…登录错误,error.response.data.errors])
}
};
返回(
登记
{loginError.length!==0&&(
登录错误.map((对象,索引)=>{
返回(
{obj.msg}
)
})
)}
名称
电邮地址:
密码:
提交
)
}
导出默认寄存器;
请在您尝试的地方共享代码。如果没有代码,我们无法知道什么不起作用。有关更多详细信息,请参阅图片。我正在从express validator接收(error.response.data.errors)中的(multiiple)对象错误,但无法将loginError空数组与setError方法一起推入,然后在同一问题中显示。你知道解决方案吗请在你尝试的地方分享代码。如果没有代码,我们无法知道什么不起作用。有关更多详细信息,请参阅图片。我正在从express validator接收(error.response.data.errors)中的(multiiple)对象错误,但无法将loginError空数组与setError方法一起推入,然后在同一问题中显示。你知道解决办法吗