TIL - 2022.10.17 상태 관리, Redux란?
React, CS 공부 꾸준히 하자!!
리액트를 다루는 기술 책을 읽고 있는데 겹치는 부분도 많다. 여러 번 보면서 장단점을 파악하고 이해해야 할 것 같다. 사용하고 있지만 명확하게 이유를 모르고 코딩만 할 때가 있다. 그렇게 하지 않도록 꾸준히 공부를 해보기!
✅ 정리했었던 것 + 다시 정리하기!
1️⃣ 상태관리를 왜 할까?
- 서로 다른 컴포넌트에 같은 데이터가 필요하다고 할 때, 각 컴포넌트가 부모 자식 관계로 되어 있지 않은 이상 직접적인 데이터 전달이 어렵다.
- 데이터를 부모 컴포넌트로 보내고 다시 필요한 컴포넌트로 전달을 해야 하는데, 이렇게 Prop Drilling이 많아지면 이 Prop이 어디에서 왔는지 확인하기가 어려워 상태관리를 해야 한다.
- 평소 State관리는 Redux로 하고 있다.
2️⃣ Redux란 무엇일까? 왜 Redux를 사용할까?
- Redux는 JavaScript Application들의 state를 관리할 수 있는 라이브러리이다.
- 데이터가 집중화되어 있어서 예측하기 쉽고 데이터 흐름이 단방향이라서 디버깅하기 쉽다.
- Redux와 연관된 좋은 생태계가 구축되어 있어서 필요에 맞게 유연하게 구현할 수 있다.
- React로 단방향 데이터 흐름을 구현할 경우 과도한 Prop Drilling이 생기거나 디버깅이 어려울 때 Redux를 사용한다.
https://jenny0520.tistory.com/m/106
[도서] 리액트를 다루는 기술 #리덕스 개념 미리 정리하기
16장. 리덕스 라이브러리 이해하기 - 리액트 상태 관리 라이브러리 - 컴포넌트의 상태 업데이트 관련 로직을 다른 파일로 분리시켜서 더욱 효율적으로 관리할 수 있다. - 컴포넌트끼리 똑같은 상
jenny0520.tistory.com
리액트를 다루는 기술 책을 보고 더 추가하여 정리해보았다.
3️⃣ Redux 말고 다른 전역 상태관리, 차이점
- Redux외 다른 전역 상태관리로는 Recoil이 있다.
- Redux는 Flux 아키텍처 기반, 중앙집중식으로 상태관리가 이루어지지만 Recoil은 Atomic 모델 기반, 저장소 개념보다는 Atom이라는 작은 상태 관리로 관리하기에 학습 곡선 비용이 적으며 동시모드를 지원한다. 또한, 상태를 구독한 컴포넌트에서만 리렌더링이 발생하기에 불필요한 렌더링이 발생하지 않는다.
늘 쓰고 있지만, Redux 공부하자!
내일은 Redux 상세 공부하기 기록,,👌