TIL-211202

EBinY·2021년 12월 2일
0

TIL - Today I Learned

목록 보기
14/54
post-thumbnail

프론트엔드 개발에서의 상태 관리

  • 상태(State): UI에 동적으로 표현 될 데이터
  • 프론트엔드 개발에서의 side effect
    • 함수(또는 컴포넌트)의 입력 외에도 함수의 결과에 영향을 미치는 요인
    • 네트워크 요청(백엔드 API 요청), 이에 의존적인 상태(isLoading)가 존재함
  • presentation component
    • 컴포넌트 개발할 때에는 표현에 집중하여야 한다
    • fetch API 요청이 아닌 더미데이터가 주어져도 컴포넌트는 작동되어야 한다
  • 상태의 두가지 구분
    • 로컬: 특정 컴포넌트 안에서만 관리되는 상태
      • 컴포넌트 내에서만 영향을 끼치는 상태
    • 전역: 프로덕트 전체 혹은 여러 컴포넌트에서 동시에 관리되는 상태
      • 신뢰할 수 있는 단일 출처(Single source of truth)여야 한다
      • 데이터 무결성: 데이터의 정확성을 보장하기 위해 변경이나 수정 시 제한을 둠
      • 동일한 데이터는 항상 같은 곳에서 와야 한다
  • 전역 상태 관리
    • 다크모드/라이트모드: 전체의 테마를 변경하므로 전역으로 관리하는 것이 보통
    • 국제화(Globalization): 특정 언어에 맞게 전체 텍스트 리소스를 전역으로 관리
    • Undo/Redo(히스토리 기능): 포토샵이나 일러스트레이터에서 사용, 화면에 표시되는 모든 내용을 전부 상태 객체로 만들어서 저장해서 사용
  • 상태 관리를 위한 각종 툴도 존재함
    • 필수적인 것은 아니나, 사용하면 효율적인 관리가 가능함
    • 툴의 사용보다, 상태가 어디에 위치해야 하는지를 먼저 고민하는 것이 중요함
    • React Context, Redux, MobX

0개의 댓글