vue state 초기화하기

강참치·2022년 10월 19일
0

특정 상황에서 state 를 전부 초기화해야 하는 이슈가 생겼다.

//? store 초기화 코드
const getDefaultState = () => {
  return {
    basic: {
      businessName: null,
      managerName: null,
      managerPhone: null,
      managerEmail: null,
      applyType: 2,
      website: null,
      email: null
    },
    info: {
      recruitField: null,
      title: null,
      logoImg: null,
      postcode: null,
      sido: null,
      sigungu: null,
      address: null,
      detailAddress: null,
      career: null,
      contractType: null,
      hireType: 1,
      closingDate: null
    },
    detailInfo: {
      mainBusiness: null,
      qualification: null,
      loyaltyPoints: null,
      welfare: null,
      importantNotes: null
    },
    logoImgInfo: {
      src: null,
      name: null,
      size: null
    },
    printSelectedRecruitItem: null
  }
}

//? state
export const state = getDefaultState()

//? mutation
export const mutations = {
  //Object.assign() 메서드는 출처 객체들의 모든 열거 가능한 자체 속성을 복사해 대상 객체에 붙여넣습니다. 그 후 대상 객체를 반환합니다.
  resetState(state) {
    Object.assign(state, getDefaultState())
  }
}

//? getters
export const getters = {
}

//? actions
export const actions = {
  resetStateAction({commit}) {
    commit('resetState')
  },
}
profile
참치입니다

0개의 댓글