Modified: 2022.05.11
์ค์ ์ฝ๋์์๋ ์ปดํฌ๋ํธ ๋ก์ง์์ commit์ผ๋ก ์ง์ ์ ์ธ ๋ณ๊ฒฝ์ ํ์ฉํ๊ณ ์์ง๋ง
Vuex์ ์ํ ๋ณ๊ฒฝ ํ๋ฆ ์ Mutation์ ๊ฑด๋๋ฆฌ๋ ๊ฒ์ ์ฝ๋ ์์ฑ์ ์ผ๊ด์ฑ์ด ๋จ์ด์ง๋ค.
์ํ ๋ณ๊ฒฝ์ ๋ฐ๋ฅธ ๋ถ๊ธฐ ์ฒ๋ฆฌ์ ๋ํด์ ๋ชจ๋ Actions์์ ์ฒ๋ฆฌํ๊ณ Mutations์ ํจ์๋ค์ state์ ๋ํ ๋ณ๊ฒฝ๋ง ์งํํ๋ค.
Vue 3.0์์๋ Pinia ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋์ ์ ๊ณ ๋ คํ๋ค.
Modified: 2022.05.11
์ปดํฌ๋ํธ ๋จ์์ ์ ์ญ ์ํ ์ ๋ณด๋ฅผ ํ์ธํ๋ค๋ฉด, this.$store.state.,,,,
๋ฐฉ์์ผ๋ก ์ฝ๋๊ฐ ์์ฑ์ด ๋๋๋ฐ์ด๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด ์ฝ๋์ ๊ธธ์ด๊ฐ ๊ธธ์ด์ง ์ ์๋ค.
state์ ์ง์ ํ ๋ณ์๋ช ๊ณผ ๋์ผํ๊ฒ ์ปดํฌ๋ํธ์ computed์ ์ง์ ํ์ฌ ์ฌ์ฉํ๋ค.
Modified: 2022.05.10
// โ wrong
props: ['status']
// โญ correct
props: {
// js
status: {
type: String,
required: true,
validator: function (value) {
return [
'syncing',
'synced',
'version-conflict',
'error'
].indexOf(value) !== -1
}
}
// ts
data: {
type: Object as PropType<dataType>
required: true,
}
}
prop์ ์ ์๋ ๊ฐ๋ฅํ ์์ธํ๊ฒ ์์ฑํ๋ค.