Vuex-存储状态对象的类型未知

时间:2019-08-12 20:02:42

标签: javascript typescript vue.js vuex

/src/middlewares/auth.ts文件:

import store from '@/store'

export default {
  guest(): void {
    if (store.state.auth.authenticated === false) {
      // do some action
    }
  }
}

/src/store.ts文件:

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  modules: {
    auth
  }
})

/src/store/auth.ts:

import { Module, VuexModule, Mutation, Action } from 'vuex-module-decorators'

@Module
export default class Auth extends VuexModule {
  public authenticated: boolean = false
}

但是我遇到TS错误:Object is of type 'unknown'

然后我的npm run build失败了。我如何键入store以便此错误消失?

更新1

存在问题:if (store.state.auth.authenticated === false)

enter image description here

更新2

这3个文件的目录结构:

  • /src/middlewares/auth.ts
  • /src/store.ts
  • /src/store/auth.ts

更新3

如果我将store.state.auth.authenticated更改为store.state,则编译器停止抱怨,我认为其与我的商店auth.ts文件有关,我需要以某种方式键入定义。

0 个答案:

没有答案