선생님 답변 감사합니다.
콘솔에 찍히는 동작이 어떻게 비동기적으로 동작하는지 이해했습니다.
한 가지 추가로 질문이 있습니다. 재랜더링 관련해서 질문이 있습니다. (문제는 해결함)
하지만 왜 이렇게 동작하는지 이해를 못하고 있습니다.
질문입니다.
.then(res => {
const newData = res.data
setData(newData)
onsetInsertToggle()
}) // 처음에는 해당 코드로 then부분을 작성했습니다.
이렇게 작성하면 토글버튼이 false로 바뀌고 화면에 띄어둔 것들이 재 랜더링이 될줄 알았지만
새로고침을 해야지 바뀐 데이터가 동작했습니다.
두번째 (해결코드)
.then(res => {
const newData = Object.assign(data,res.data)
setData(newData)
onSetInsertToggle()
})
위 두번째 코드에서는 제가 원하는대로 토글이 내려가면 새롭게 업데이트 된 화면이 랜더링이 됐습니다.
state변경함수는 기존은 데이터와 업데이트된 데이터를 비교해 최종적으로 변경된 부분이 있으면
Dom에 적용하는 것을 이해하고 있습니다.
저는 위의 두가지 예시가 똑같이 동작할거라고 생각하는데 그러지 않은 이유를 도저히 모르겠습니다ㅜㅜ
도와주세용