개발일기
[React.js] useState()은 동기적으로 작동하지 않습니다.
useState()는 동기적으로 작동하는 함수가 아닙니다. 따라서 setState("...") 했다고 바로 상태값이 변경되지 않습니다! 예시와 함께 보도록 하겠습니다. const [id, setId] = useState(""); const dispatch = useDispatch(); useEffect(()=>{ axios.get(url) .then((response)=>{ setId(response.data[0].id); //useState함수들은 한번에 다 같이 렌더링하기 때문에 //setId 함수보다 밑의 dispatch가 먼저 실행 //따라서 id는 undefined 혹은 초깃값인 ""이 들어갈 것이고 에러발생 가능성 dispatch(changeId(id)); //콘솔 찍어봐도 id를 가져오지 못..
2021. 10. 5. 22:16