Spring 유닛을 배우고 나서 다시 React로 돌아와 상태관리에 대한 학습을 진행했다. 상태관리에서도 Redux에 대한 학습도 진행했으며, 학습했던 개념들을 정리해보겠다.
상태는 UI에 동적으로 표현될 데이터이다.
프론트 개발에서의 Side Effect
React의 주요 개발 원칙 중 하나는 UI를 페이지 단위가 아닌 컴포넌트 단위로 보는 것이다.
상태의 2가지 구분
로컬 상태 : 특정 컴포넌트 안에서만 관리되는 상태
전역 상태 : 프로덕트 전체 혹은 여러 컴포넌트에서 관리되는 상태
전역 상태에서의 데이터 무결성
데이터 무결성
무결성을 위한 방법론 : Single Source of truth - 신뢰할 수 있는 단일 출처
상태 관리를 위한 각종 툴 : React Context, Redux, MobX
상태가 어디에 위치해야 하는지 아는 것이 제일 중요하다.
React 없이 사용할 수 있는 상태 관련 라이브러리
Java Application 내에서 예측 가능한 상태 컨테이너이다.
컴포넌트 간의 정보 공유
Redux의 세 가지 원칙
Store
라는 상태 저장 공간이 있다.Action
이라는 객체로 State를 변경 가능하다.Redux의 장점
상태를 예측가능하게 만들어 준다. => Reducer가 순수함수이기 때문이다.
유지보수
디버깅에 유리하다. (action과 state log 기록 시)
테스트를 붙이기 쉽다. => 순수함수를 사용하기 때문이다.