从 Vuex 中的观察者获取值 getter

Get a value from an observer in a Vuex getter

我有一个命名空间模块,其中包含一个名为 allItems() 的 getter 方法,用于从规范化状态获取值数组。

...    
getters: {
    allItems(state, getters, { entities }) {
        return state.items.map(function (item){
            return {...entities.product[item]};
        });
    }
}

当我尝试获取其他元素时,出现 "you can't call some property from undefined element" 错误。

如果我放 console.log(entities) 我可以看到元素数组,当我放 console.log(entities.products) 时我得到一个观察者 {__ob__: Observer} 里面有数据但是当我放 console.log(entities.products[1]) 例如,我得到了 undefined。我应该怎么做才能解决这个问题?

我解决了这个创建方法 getter 调用 getEntityById 像这样

getters: {
    getEntityById: (state) => (entity, id) => {
        return state[entity][id];
    }
}

并在地图函数上调用它