객체 리터럴을 반환한다.
export default {
// movie/js 가 module 화 되서 사용 될 수 있다를 명시적으로 나타낸다.
// store/index.js 에서 modules 에 연결해준다.
namespaced: true,
// data
state: () => ({
movies: []
}),
// computed 와 비슷하다.
// state 의 데이터를 계산해서 새로운 데이터로 만들어줄수 있다.
getters: {
// 함수의 배개변수로 state 를 넘겨줘야 state에 접근 가능하다.
movieIds(state) {
return state.movies.map(m => m.imdbID)
}
},
// mutations 와 actions 는 methods 와 비슷하다. 함수를 통해서 데이터를 활용한다.
// mutations : 데이터를 수정할 수 있는 유일한 곳이다.
mutations: {
resetMovies(state) {
state.movies =[]
}
},
// 기본적으로 비동기로 처리된다.
actions: {
// state 접근하기 위해서 위와는 다르게 context 로 접근한다.
~~searchMovies(context) {
context.state
context.getters~~
// commit 은 mutation 접근
~~context.commit
}~~
// 다음과 같이 줄일수 있다. 객체구조분해
searchMovies({ state, getters, commit }) {
}
}
}