# ํฌํผ ํจ์
ํฌํผ ํจ์๋ ๋ทฐ์์ค ๊ธฐ์ ์์๋ค์ ์ปดํฌ๋ํธ์์ ๋ ํธํ๊ฒ ์ธ ์ ์๋๋ก ๋์์ฃผ๋ API์ ๋๋ค. ์ผ๋ง๋ ๋ ํธํด์ง๋์ง ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ๋ฐฉ์๊ณผ ํฌํผ ํจ์์ ์ฌ์ฉ ๋ฐฉ์์ ๋น๊ตํด๋ณด๊ฒ ์ต๋๋ค.
# ์ผ๋ฐ์ ์ธ getters ์ ๊ทผ ๋ฐฉ๋ฒ
reverseMessage๋ผ๋ getters ์์ฑ์ ์ปดํฌ๋ํธ์์ ์ ๊ทผํ๋ ค๋ฉด ์๋์ ๊ฐ์ด ๊ตฌํํด์ผ ํฉ๋๋ค.
<div>{{ this.$store.getters.reverseMessage }}</div>
export default {
computed: {
reverseMessage() {
return this.$store.getters.reverseMessage;
}
}
}
# ํฌํผ ํจ์์ ์ฌ์ฉ ๋ฐฉ์
์ด๋ฅผ ์ข ๋ ํธํ๊ฒ ์ ๊ทผํ๋ ค๋ฉด ์๋์ ๊ฐ์ด ๊ตฌํํ ์ ์์ต๋๋ค.
<div>{{ reverseMessage }}</div>
import { mapGetters } from 'vuex';
export default {
computed: {
...mapGetters(['reverseMessage'])
}
}
์์ ...
๋ ES6์ Spread Operator๋ฅผ ์๋ฏธํฉ๋๋ค. ํฌํผ ํจ์๋ฅผ ์ฌ์ฉํ ๋๋ ๋ฌด์กฐ๊ฑด ํจ๊ป ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. mapGetters()
๋ ์คํ ์ด์ getters ์์ฑ์ this.$store.getters....
์ด๋ฐ ์์ผ๋ก ์ ๊ทผํ์ง ์
๊ณ ๋ฐ๋ก ์ ๊ทผํ ์ ์๊ฒ ํด์ค๋๋ค.
# ํฌํผ ํจ์์ ์ข ๋ฅ
๋ทฐ์์ค์ ๊ธฐ์ ์์ ์ ๋ถ ํฌํผ ํจ์๋ฅผ ๊ฐ๊ณ ์์ต๋๋ค. ์ฌ์ฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
import { mapState, mapGetters, mapMutations, mapActions } from 'vuex';
export default {
computed: {
...mapState(),
...mapGetters()
},
methods: {
...mapMutations(),
...mapActions(),
}
}
mapState์ mapGetters๋ computed ์์ฑ์ ์ฃผ๋ก ์ฌ์ฉํ๊ณ , mapMutations์ mapActions๋ ๋ฉ์๋์ ์ฃผ๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค.