이안의 평일코딩

[Vue] Vuex(1) - 설치 및 셋팅 (store.js, $store.state.데이터명) 본문

Front-end/Vue

[Vue] Vuex(1) - 설치 및 셋팅 (store.js, $store.state.데이터명)

이안92 2021. 5. 18. 13:15
반응형

 Vuex 설치 및 셋팅

Vuex를 왜 사용할까?

 

하위컴포넌트 전송 props, 상위컴포넌트 전송 custom event, 또는 mitt는 데이터 주고받기 어렵다.

Vuex는 모든 컴포넌트가 데이터를 공유할 수 있는 js파일로 모든 컴포넌트가 직접 꺼내쓸 수 있다.

컴포넌트, 데이터가 많을 때 Vuex를 쓰고 간단할 때는 props를 쓰자.

 

Vuex 4 설치
npm install vuex@next
또는
yarn add vuex@next

 

Vuex 4 셋팅

 

모든 컴포넌트가 쓸 수 있는 데이터 저장용 js파일 만들어야한다.

src폴더에 store.js를 생성한다

import { createStore } from 'vuex'

const store = createStore({
    state () {
        return {
            name : 'lee' // state 보관
        }
    },
})

export default store;

 

main.js에 store를 등록해준다. 그럼 전역에서 데이터를 공유한다.

import { createApp } from 'vue'
import App from './App.vue'
import store from './store.js'
let app = createApp(App)
app.use(store).mount('#app')

 

Vuex 4 데이터 꺼내오기

 

store.js에 있는 state 꺼내쓰는 방법은 간단하다. $store.state.데이터명을 사용하면 된다.

<p>안녕 나는 {{ $store.state.name }}야.</p>

=> 안녕 나는 lee야.

 

만약 state를 수정하고 싶으면 미리 store.js에 수정방법을 정의해두고그 방법을 컴포넌트에서 소호나해서 수정해야한다.

그리고 함수나 mounted와 같은 곳에서 쓰려면 this.$store.state.데이터명을 쓰면된다.

반응형
Comments