Nuxt vuex auth store 没有更新我的 getters

Nuxt vuex auth store is not updating my getters

即使商店包含数据,我的 getter 也没有更新反应。

这是我的代码

function initialAuthState (): AuthState {
  return {
    token: undefined,
    currentUser: undefined,
    refreshToken: undefined
  }
}

export const store: AuthState = initialAuthState()

export const actions: ActionTree<AuthState, RootState> = {
  [AuthStoreActions.LOGIN]: async ({ commit }, payload: { employeeID: string, password?: string }): Promise<User> => {
    const response = await AuthRepository.login(payload)

    // Save Token and User
    commit(AuthStoreMutations.SET_TOKENS, { token: response.data.token, refreshToken: response.data.refreshToken })
    const user = User.parseFromObject(response.data.user)
    commit(AuthStoreMutations.SET_USER, user)
    return new User()
  },
  [AuthStoreActions.LOGOUT]: ({ commit }): void => {
    commit(AuthStoreMutations.CLEAR_STORE)
  }
}

export const mutations: MutationTree<AuthState> = {
  [AuthStoreMutations.SET_TOKENS]: (state: AuthState, value: { token: string, refreshToken: string }) => {
    state.token = value.token
    state.refreshToken = value.refreshToken
  },
  [AuthStoreMutations.SET_USER]: (state: AuthState, value: User) => {
    const t = {}
    Object.assign(t, value)
    state.currentUser = t as User
  },
  [AuthStoreMutations.CLEAR_STORE]: (state: AuthState) => {
    //state.token = null
    //state.refreshToken = null
    //state.currentUser = null
  }
}

export const getters: GetterTree<AuthState, RootState> = {
  [AuthStoreGetters.TOKEN]: (state: AuthState) => state.token,
  [AuthStoreGetters.REFRESH_TOKEN]: (state: AuthState) => state.refreshToken,
  [AuthStoreGetters.CURRENT_USER]: (state: AuthState) => {
    console.log(state.currentUser)
    if (state.currentUser) {
      // needs to be parsed because VuexPersistence does not keep type information
      return User.parseFromObject(state.currentUser)
    }
    return undefined
  }
}

这就是我如何称呼我的 getter

  @AuthStore.Getter(AuthStoreGetters.TOKEN)
    private token?: string

  created () {
    console.log(this.token)
  }

如您在此屏幕截图中所见,数据存在。更新我的 getter 的唯一方法是重新加载网站。

我们发现了错误。

export const store: AuthState = initialAuthState()

必须是

export const state: AuthState = initialAuthState()

我希望这可以帮助其他人