작성
·
216
1
state, getters, mutations를 모듈화 하는과정에서 vue 개발자 도구를 보았더니 아래처럼 표시가 되더라구요.
저같은 경우에는 헤더명도 state 에 집어어넣어서 표시하게끔 설정해 두었었는데 왠지모르게 표시가 안되서 header.vue파일에 해당 헤더명 정의 하는곳의 코드를 {{ this.$store.state.todoApp.headerText }}로 변경하니 잘나오는데요. 문제는 mapState를 사용하여 todoItems를 가져오려고 할경우에는 todoItems가 todoApp의 맴버로 인식이되어서 리스트를 가져올 수가 없었습니다. 이럴경우엔 mapState를 어떻게 사용해야하나요?
답변 2
1
답변감사합니다. state라는 오브젝트에서 단계적으로 꺼내야 하는거였군요.... 기존코드는 getters에서 가져오는 방식이라 당연히 문제없이 작동했습니다 ㅎ
1
안녕하세요 얼티밋님, 첨부해주신 데이터 구조 기준으로 아래 코드가 동작 안하나요?
computed: {
...mapState({
myTodoItems: state => state.todoApp.todoItems
})
}
myTodoItems로 컴포넌트에서 사용하시면 됩니다. 그리고 위와 같이 접근할 때는 객체의 속성의 속성을 접근하기 때문에 todoApp이 비어있진 않은지 보장해주셔야 할 것 같아요 :)