Reactjs React useState不更新提交表单上的状态

Reactjs React useState不更新提交表单上的状态,reactjs,bootstrap-4,next.js,Reactjs,Bootstrap 4,Next.js,设置状态为异步操作。您正在设置状态,然后检查其值,该值将始终返回旧值。这就是它在第二次返回true的原因 按如下方式重构代码,然后再次检查 if (inputChecker()) { console.log(user); } } 设置状态为异步操作。您正在设置状态,然后检查其值,该值将始终返回旧值。这就是它第二次返回true的原因。请你告诉我怎么做,因为我仍然没有得到它…@MazharHaqueI已经添加了代码作为答案。请检查一

设置状态为异步操作。您正在设置状态,然后检查其值,该值将始终返回旧值。这就是它在第二次返回true的原因

按如下方式重构代码,然后再次检查

        if (inputChecker()) {
            console.log(user);
        }

    }

设置状态为异步操作。您正在设置状态,然后检查其值,该值将始终返回旧值。这就是它第二次返回true的原因。请你告诉我怎么做,因为我仍然没有得到它…@MazharHaqueI已经添加了代码作为答案。请检查一下。非常感谢你的帮助@马扎尔哈克
        if (inputChecker()) {
            console.log(user);
        }

    }
const inputChecker = () => {
let isFNameValid = true;
let isLNameValid = true;
let isUsernameValid = true;
let isPasswordValid = true;
let isEmailValid = true;

if(user.fName === '' || user.fName.length < 3) {
    setfNameError('invalid');
    isFNameValid = false;
}  
else {
    setfNameError('valid');
    isFNameValid = true;
}

if(user.lName === '' || user.lName.length < 3) {
    setlNameError('invalid');
    isLNameValid = false;
}  
else {
    setlNameError('valid');
    isLNameValid = true;
}

if(user.username === '' || user.username.length < 5) {    
    setusernameError('invalid');
    isUsernameValid = false;
}  
else {
    setusernameError('valid');
    isUsernameValid = true;
}

if(user.password === '' || user.password.length < 6) {    
    setpasswordError('invalid');
    isPasswordValid = false;
}  
else {
    setpasswordError('valid');
    isPasswordValid = true;
}


if(validateEmail(user.email)) {
    setemailError('valid');
    isEmailValid = true;
} 
else {
    setemailError('invalid');
    isEmailValid = false;
}


if (isFNameValid && isLNameValid && isUsernameValid && isPasswordValid && isEmailValid) {
        return true;
} else 
return false;
}