arrays - Vuex - 将对象数组添加到商店需要很长时间
问题描述
我在 Vuex 的一个突变中这样做:
console.time('ADD products')
state.products = products
console.timeEnd('ADD products')
“产品”是一个包含 350 个对象的数组。state.product 在商店中声明如下:
const state = {
products: [],
...
}
console.time/timeEnd 告诉我这大约需要 70 毫秒。这不可能像预期的那样快。
我曾尝试打开和关闭严格模式,正如在类似帖子中提到的解决方案,但完全没有效果。
信息:Vue:2.5.13 Vuex:3.0.1 在 MacBook Pro 上最新版本的 Chrome 上调试
数组中的产品如下所示:
{
id: 9633,
title: 'Dark Grey Canvas Satchel',
brand: 'Delton Bags',
price: '£49',
beforePrice: false,
isNew: false,
discount: 0,
link: 'http://localhost:3000/dark-grey-canvas-satchel-p.html',
images: [
'https://res.cloudinary.com/image/upload/f_auto,c_pad,q_80,w_X-WIDTH,h_X-HEIGHT/media/catalog/product/9/0/9027A-2.jpg',
'https://res.cloudinary.com/image/upload/f_auto,c_pad,q_80,w_X-WIDTH,h_X-HEIGHT/media/catalog/product/h/d/hd-trendhim-12-2016-12.jpg',
],
basePrice: 449,
localPrice: 49,
filters: {
th_filter_farve: ['228'],
th_filter_materiale: ['351'],
th_filter_computersize: ['573'],
th_brand: ['277'],
th_price: 49,
},
filterAttributes: { canBeShortened: 0 },
sorting: {
qty_ordered: 47,
qty_ordered_store: 0,
newest: '9633',
defaultSorting: 0,
},
}
我在问什么:
- 我能期望的速度是多少
- 依赖此 state.products 的任何计算属性会减慢此性能吗?
- 将这样的数组添加到商店的最快方法是什么?
问候卡斯帕
解决方案
推荐阅读
- javascript - 迭代地组合字符串并删除javascript中的第一个字符串
- javascript - 将状态作为道具传递给组件时出错
- go - 如果使用字段中具有默认值的 Struct 实例进行过滤,Go-gorm 将返回所有记录
- python - 如何检查另一个字典键中存在的值
- android - 调用API验证购买令牌时,显示错误消息“错误的应用程序”。我该如何解决这个问题?
- flutter - 我懂了
在颤动并且没有错误但也没有执行所需的操作 - angular - 如何以角度对数组的重复元素进行分组
- python - 检查键盘输入不起作用。请帮忙
- reactjs - 我如何在 React 中“循环”?
- dll - 从 dll 访问 .csv 文件