๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Vue

๐Ÿ›Ž vuex ๋ชจ๋“ˆํ™”

by frontChoi 2023. 1. 18.
๋ฐ˜์‘ํ˜•

๐Ÿ— vuex ๋ชจ๋“ˆํ™” ํ•˜๋Š” ์ด์œ 

๊ธฐ์กด์— ๋ชจ๋“ˆํ™”๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํ–ˆ์„๋•Œ ์‚ฌ์ด์ฆˆ๊ฐ€ ์ ์  ์ปค์ง์— ๋”ฐ๋ผ ๊ด€๋ฆฌ๊ฐ€ ํž˜๋“ค์–ด์ง€๋Š” ๋‹จ์ ์ด ์ƒ๊น€
๊ทธ๋ฆฌํ•˜์—ฌ ์—…๋ฌด ์„ฑ๊ฒฉ์— ๋งž๊ฒŒ ๋ชจ๋“ˆํ™”๋ฅผ ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ํ•„์š”์„ฑ์„ ๋А๋‚Œ

 

๐ŸŽ ๊ธฐ์กด ๋ฐฉ์‹์—์„œ ๋ชจ๋“ˆํ™” ๋ฐฉ์‹์„ ๋ฐ”๋€”๋•Œ์˜ ๋ชจ์Šต

๊ธฐ์กด๋ฐฉ์‹

๊ธฐ์กด๋ฐฉ์‹

๋ชจ๋“ˆํ™”๋ฐฉ์‹

๋ชจ๋“ˆํ™” ๋ฐฉ์‹

์œ„ ๋ฐฉ์‹์œผ๋กœ ํ–ˆ์„๋•Œ  ์ฒ˜์Œ์—๋Š” ๊ตฌ์กฐ๋ฅผ ์žก๊ธฐ๊ฐ€ ์–ด๋ ต์ง€๋งŒ, ์ข€ ๋” ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌ๊ฐ€ ๋œ๋‹ค๋Š” ์žฅ์ ์ด ์กด์žฌํ•œ๋‹ค.

 

๐ŸŽŠ vuex ๋ชจ๋“ˆํ™” ๊ตฌ์กฐ

|---store
|     |---modules
|        |---moduleA.js // moduleA์ž‘์„ฑ
|        |---moduleB.js // moduleB์ž‘์„ฑ
|--index.js // ๋ชจ๋“ˆ ๋“ฑ๋ก

๐Ÿ“ฎ moudleA ๊ตฌ์กฐ ์†Œ์Šค

const moduleA = {
  namespaced: true,
  state: () => ({
    obj1: {},
  }),
  getters: {
    getObj1(state) {
      return state.obj1;
    },
  },
  actions: {
    someAction({ commit }, payload) {
      commit("setObj1", payload);
    },
  },
  mutations: {
    setObj1(state, payload) {
      state.obj1 = payload;
    },
  },
};
export { moduleA };

 

๐Ÿ“ฎ moudleB ๊ตฌ์กฐ ์†Œ์Šค

const moduleB = {
  namespaced: true,
  state: () => ({
    obj1: {},
  }),
  getters: {},
  actions: {},
  mutations: {},
};
export { moduleB };

 

๐Ÿ“จ index.js(๋ชจ๋“ˆ๋“ฑ๋ก) ๊ตฌ์กฐ ์†Œ์Šค

import { createStore } from "vuex";
import { moduleA } from "./modules/moduleA";
import { moduleB } from "./modules/moduleB";
const store = createStore({
  modules: {
    moduleA: moduleA,
    moduleB: moduleB,
  },
});

export { store };

 

๐Ÿ“จ main.js vuex ๋“ฑ๋ก ์†Œ์Šค

import { createApp } from "vue";
import App from "./App.vue";
import { store } from "./store/index";

const app = createApp(App);
app.use(store);
app.mount("#app");

 

 

๐Ÿ“ฉ  ํ›„๊ธฐ

ํ™•์‹คํžˆ ๊ธฐ์กด์— ๋‹ค ๋„ฃ์–ด์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹๋ณด๋‹ค๋Š” ํ›จ์”ฌ ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌ๋œ๋‹ค๋Š” ๊ฒƒ์„ ๋А๊ผˆ๋‹ค. ๊ทธ๋ฆฌํ•˜์—ฌ ๋‹ค์Œ ํ”„๋กœ์ ํŠธ์—์„œ๋„ ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š”๊ฒŒ ์œ ์ง€๋ณด์ˆ˜ ์ž…์žฅ์—์„œ๋Š” ์ข‹๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€