react랑 스프링부트 쓰고 있는데

useState가 뭔가 보내는 방식이 다른건가 axios가 비동기인게 문제인건가


회원가입을 위해 정보를 담는 변수 info를 useState로 하나 만들고

이메일이 앞,뒤로 2개 길래

하나로 합치는 email useState를 하나 더 만들고

입력할때마다 그 정보들을

이메일 앞과 뒤를 합쳐서 email에 담고

email을 포함한 나머지 input 정보를

info에 담고


useEffect로 info가 변할때마다

post 보내게 했는데

id 같은건 입력할때마다 제대로 전해지는데

email이 2단계 늦게 보내짐


아무리봐도 모르겠어서

useState 조금 찾아보니까

값이 바뀐다고 바로 적용이 되는게 아니고 저장소? 같은데 저장 된 다음 보내지는데

맨 처음 렌더링 됐을 때

info가 빈값으로 한번 보내지고

브라우저에서 아이디를 1을 입력하면

저장소엔 id가 1로 입력이 되고

info가 변했으니

post 한번 보내지고

그럼 id=1이 제대로 전송 되는데

이메일은 그렇게 되지 않아

뭐지 왜지