State lifting
React는 저번에도 배웠듯 부모에서 자식으로만 데이터가 전송되는 단방향 데이터 플로우를 가지고 있다. 이로 인해서 생길 수 있는 문제가 바로 형제 컴포넌트로의 데이터 전송이 불가능 하다는 것이다. 이것을 해결하기 위해서 형제 컴포넌트의 데이터를 서로의 부모 컴포넌트로 올려 두는 것으로 해결할 수 있다.
예시 그림
위 그림 처럼 원래 자식 컴포넌트1에 있던 데이터를 부모에게 넘겨주고 그걸 다시 props를 통해서 자식에게 전달해 주는 것으로 형제가 같은 데이터를 공유하며 사용할 수 있게 된다.
이를 통해서 Pagination과 리스트 목록을 분리해서 pagination을 다른 곳에서도 쓸 수 있도록 만들 수 있었다.
예시 코드
위 예시 코드는 서로 같은 부모를 둔 형제 컴포넌트가 list의 page를 공유하고 있는 것을 확인 할 수 있습니다.
'프론트엔드' 카테고리의 다른 글
17. UseRef (0) | 2023.04.07 |
---|---|
16. Pagination과 Infinite scrolling (0) | 2023.03.31 |
14. State prev (0) | 2023.03.31 |
14. Destructuring Assignment(구조 분해 할당), Mutable과 Immutable (0) | 2023.03.24 |
프론트엔드 2주 5일차 (0) | 2023.03.24 |