开发者问题收集

无法使用“in”运算符在未定义中搜索“X”

2021-01-11
5153

未捕获的类型错误:无法使用“in”运算符在未定义中搜索“USERS” 我无法理解这一行: 使用“in”运算符搜索“USERS” 以及为什么 未定义

我不明白这些错误,请向我解释。

我的 Vuex

 export default new Vuex.Store({
  state: {
    users: []
  },

  actions: {
    GET_USERS_FROM_API({commit})  {
      return axios('http://localhost:3000/users', {
        method: GET
      })
      .then((response) => {
        commit('SET_USERS_TO_VUEX', response.data)
      })
    }
    
  },
  mutations: {
    SET_USERS_TO_VUEX: (state, users) => {
      state.users = users
    }
  },
  getters: {
        USERS(state) {
      return state.users
    }
},

  modules: {

}

这是我的脚本:

import {mapActions, mapGetters} from 'vuex'
export default {
  name: 'Home',
  components: {
  },
  data() {

  },

  computed: {
    ...mapGetters([
      'USERS'
    ])

  },

  methods: {
    ...mapActions([
      'GET_USERS_FROM_API'
    ])
  },

  mounted() {
    this.GET_USERS_FROM_API()
  }
}

</script>

也许我在 vuex 中的 axios 响应中犯了错误?我在状态中 定义了 用户。我认为我的 axios 响应中出现错误,但我不知道如何修复它。

2个回答

语法错误,忘记给 GET 方法加上引号,也忘记导入 axios

Justin Moreyl
2021-01-11

似乎你忘记了在数据语句中返回对象,导致 Vue 崩溃。

有效的数据属性是:

data() {
   return{};
  },
Sergei Illarionov
2022-10-07