# μ€ν μ΄ μ μΈ
νΌλμμ κΈ°λ³Έ λ¬Έλ²μ μ¬μ©νκΈ° μν΄ λ€μκ³Ό κ°μ΄ μ€ν μ΄λ₯Ό μ μΈν©λλ€.
// ./store/index.js
import { defineStore } from 'pinia'
export const useStore = defineStore('app', {
state: () => {
return {
message: 'Hello Pinia'
}
}
})
μ μ½λλ store ν΄λ μλμ index.js λΌλ νμΌμ λ§λ€κ³ νΌλμμ κΈ°λ³Έ μ½λλ₯Ό μμ±νμ΅λλ€. νΌλμ λΌμ΄λΈλ¬λ¦¬μμ μ 곡νλ defineStore()
λ₯Ό μ΄μ©ν΄μ 첫 λ²μ§Έ μΈμλ‘ μ€ν μ΄μ μ΄λ¦μ μ μΈνκ³ λ λ²μ§Έ μΈμλ‘ μ€ν μ΄μ λ΄μ©μ μ μν©λλ€.
μ€ν μ΄μ λ΄μ©μλ message
λΌλ μν(state)λ₯Ό νλ μ μνμ΅λλ€.
TIP
stateλ₯Ό μ μν λ κ°μ²΄ ννκ° μλλΌ νμ΄ν ν¨μλ₯Ό μ¬μ©ν©λλ€. λ·°μμ€μμλ κ°μ²΄ ννμ νμ΄ν ν¨μ ννκ° λͺ¨λ μ§μλμ§λ§ νΌλμμμλ νμ΄ν ν¨μ ννλ‘λ§ μμ±ν΄μΌ ν©λλ€.
# μ€ν μ΄ μ¬μ©
μμμ μ μΈν μ€ν μ΄λ₯Ό μ»΄ν¬λνΈμμ μ¬μ©ν΄ λ³΄κ² μ΅λλ€.
μ μ½λλ App μ»΄ν¬λνΈμμ μ€ν μ΄μ μνλ₯Ό νλ©΄μ νμν μ½λμ
λλ€. νΌλμλ μ΄μ²λΌ μ€ν μ΄λ₯Ό μ¬μ©νκΈ° μν΄μ μ»΄ν¬μ§μ
APIμΈ setup APIμ κΌ μ¬μ©ν΄μΌ ν©λλ€. setup()
μμμ λ°νλ storeλ ν
νλ¦Ώ ννμμμ μ¬μ©ν μ μκΈ° λλ¬Έμ store.message
μ μ΅μ’
κ²°κ³Όλ μμμ μ μν 'Hello Pinia'κ° λ©λλ€.
# μ€ν μ΄ μλͺ λ²
νΌλμμ μ€ν μ΄λ₯Ό μλͺ ν λλ μλ κ·μΉμ μ°Έκ³ ν©λλ€.
defineStore()
μ 첫 λ²μ§Έ μΈμλ λ€λ₯Έ μ€ν μ΄λ€κ³Ό ꡬλΆλλ μ λν¬ν κ°μ΄μ΄μΌ ν©λλ€. μλ₯Ό λ€λ©΄, μ€ν μ΄λ₯Ό 2κ° λ±λ‘ν λ μ΄λ¦μ΄ κ²ΉμΉλ©΄ μλ©λλ€.
export const useStore = defineStore('app', {
state: () => {
return {
message: 'Hello Pinia'
}
}
})
export const useUserStore = defineStore('user', {
state: () => {
return {
user: { name: 'μΊ‘ν‘' }
}
}
})
defineStore()
λ₯Ό λ°λ λ³μμ μ΄λ¦μuseXXXStore
μΌλ‘ μλͺ ν©λλ€. μλ₯Ό λ€λ©΄, λ€μκ³Ό κ°μ΅λλ€.
useAppStore
useUserStore
useCounterStore
β Introduction π State π β