c62 2022. 11. 23. 13:57

정의

  • vue.js의 상태 관리를 위한 패턴이자 라이브러리
  • 중앙 집중식 저장소 역할
    • 컴포넌트 개수가 많아지면서 컴포넌트간 데이터 전달(props, emit)이 어려워짐
    • 여러개의 컴포넌트에서 같은 데이터를 동기적으로 업데이트
  • flux패턴에서 영감을 받음(단방향 데이터 흐름)
    • flux: MVC 패턴의 복잡한 데이터 흐름 문제를 해결하는 개발 패턴
    • MVC: 하나의 컨트롤러가 여러개의 model, view를 컨트롤하는데 제약이 없어 기능 추가 및 변경시 생기는 문제점 예측이 어려움
 
 
  • actions
    • mutations에 대한 커밋
    • 비동기적 작업 포함
  • mutations
    • 스토어의 상태를 변경할 수 있는 유일한 방법
    • 반드시 동기적이어야함
      • commit 메소드의 호출되어 상태의 변경이 비동기적이면 상태 추적이 어려워지기 때문
  • state
    • 어플리케이션에서 공통으로 관리할 상태
    • 모델, 원본 소스의 역할
  • getter
    • vue의 computed와 같은 역할
    • state를 가공해서 사용하는 경우