为什么这个传播算子没有正确更新我的状态?

时间:2021-07-04 03:26:26

标签: javascript reactjs next.js state

基本上,我正在检查用户是否输入了电子邮件或电话号码,如果没有,我正在尝试更改“错误”状态。为简单起见,我省略了“if (!user.email)”/“if (!user.phone)”语句,即使没有它,下面的代码也无法正常工作。我不明白为什么。

它只会改变第一件事的价值。如果我在这段代码运行后 console.log(error) ,我会看到 {phone: true, email: false}。当我切换 setError 语句的顺序时,我会看到 {phone: false, email: true}。

  const [error, setError] = useState({
    email: false,
    phone: false,
  });
  
  const handleSubmit = (e) => {
    e.preventDefault();

    setError({ ...error, phone: true });
    setError({ ...error, email: true });
    
    }

0 个答案:

没有答案