首页 > 解决方案 > 组合 API - vuex getters 不安全地返回“任何”类型的值

问题描述

访问 vuex 存储获取器时出现 linting 错误。

值上的不安全成员访问 ['project/myProjects'] any。不安全

返回一个any类型化的 value.eslint

在浏览器中一切正常,问题是 linting (eslint) 中的错误

我有一个名为project的模块,带有一个 getter myProject

模块项目

import { GetterTree } from 'vuex';

function state(): ProjectStateInterface {
  return {
    projects: [],
  };
}
const getters: GetterTree<ProjectStateInterface, StateInterface> = {
  myProjects: (state: ProjectStateInterface): IProject[] => state.projects,
};
...
const projectModule: Module<ProjectStateInterface, StateInterface> = {
  namespaced: true,
  state,
  getters,
  ...
};
...

在组件 setup() 中访问getter :

<script lang="ts">
import { ..., computed } from 'vue';
import { IProject } from 'assets/dummy-data/projects';
import { useStore } from '../../store';
export default defineComponent({
  ...
  setup() {
    const store = useStore();
    const items = computed(() : IProject[] => store.getters['project/myProjects']);
    ...
    return {
      items,
    };
  },
});
</script>

我已经添加了返回接口IProject[],我仍然得到这个错误。

有谁知道如何解决这个问题?(不禁用 liniting)

标签: typescriptvue.jsvuexvuejs3vue-composition-api

解决方案


推荐阅读