- constructor
- render
- componentDidmount
- fetch완료
- render (setstate)
- componentDidupdate
여기서 fetch는
{
"data": [{index : 1, name : "yeonju" }]
}
여기서 console로 확인해보면 이렇게 찍힌다!
- "나는 constructor"
- "나는 render"
- "나 state"
[setstate 전이라 빈 배열이나온다]
- "나는 didmount" (fetch)
- "fetch 완료!"
- (render) "나 state"
[data: [{index:1, name: yeonju}] ]
; fetch후 배열이 state로 들어갔다- "나 DidUpdate"
- "나는 constructor"
- "나는 render"
- "나 data배열"
[undefined]
- "나는 didmount" (fetch)
- "fetch 완료!"
- (render) "나 state"
[data: [{index:1, name: yeonju}] ]
; fetch후 배열이 state로 들어갔다- "나 DidUpdate"
🚫 바로 에러가 뜨는데 이유는 render될 때 빈 배열인데 키값을 가질 수 없기 때문에 아래와 같은 에러가 발생한다!
콘솔창을 확인해보자
진행하고 있는 프로젝트로 동작할때마다 console.log을 확인해보니 처음 사이트를
들어가면 전부 동작했다 여기서 다른 동작이 일어난다면 lifetcycle이 부분
실행되었다. componentDidupdate에 조건을 걸어주고 ture라면 setstate가 일어나고
render가 됐을때 변경된 state값이 나오고 다시 componentDIdupdate가 실행되었다!
render(변경전state값)->componentDidupdate->render(변경된state값)->componentUpdate```