반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 평일코딩
- 리액트
- Oracle
- 이안의평일코딩
- VUE
- 타입스크립트
- 국비IT
- 정보처리기사실기정리
- CSS
- ReactNative
- react
- Java의정석
- 오라클
- 자바의정석
- 정보처리기사실기
- javascript
- 정보처리기사
- 스프링
- 자스코테
- 자바스크립트
- php
- 국비코딩
- 정보처리기사실기요약
- spring
- 코딩테스트
- 정보처리기사요약
- typescript
- 자바스크립트 코딩테스트
- 정보처리기사정리
- 리액트네이티브
Archives
- Today
- Total
이안의 평일코딩
[Vue] Vuex(1) - 설치 및 셋팅 (store.js, $store.state.데이터명) 본문
반응형
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.데이터명을 쓰면된다.
반응형
'Front-end > Vue' 카테고리의 다른 글
[Vue] Vuex(3) - actions, $store.dispatch(), context (0) | 2021.05.18 |
---|---|
[Vue] Vuex(2) - state 변경 (mutations, $store.commit()) (1) | 2021.05.18 |
[Vue] 라이브러리 전역에서 사용하기 (0) | 2021.05.17 |
[Vue] props 대신 slot을 써보자 (0) | 2021.05.14 |
[Vue] 이미지 업로드 및 불러오기 (0) | 2021.05.14 |
Comments