gpt4 book ai didi

复杂对象的 Vuex 最佳实践

转载 作者:行者123 更新时间:2023-12-04 01:06:49 24 4
gpt4 key购买 nike

我的 Vuex 商店包含具有各种复杂性的对象。有些具有嵌套对象,有些具有嵌套对象数组。

我可以创建通用函数来改变指定的属性:

setProperty(state,{ type, id, prop, value })
{
state[type][id][prop] = value;
}

但是对于嵌套对象,对象数组,这很快就会变得复杂。必须为每个单独的对象属性(嵌套或其他方式)创建突变似乎也很乏味。

创建突变以修改对象、嵌套对象、数组等的最佳实践是什么?

另一个相关问题是,将对象传递到突变中而不是在状态中查找它们被认为是不好的形式:
setProperty(state,{ obj, prop, value })
{
obj[prop] = value;
}

最佳答案

一般来说,最好首先避免嵌套状态结构。我不确定您的数据是如何构建的,但是如果您这样做是因为您在这些对象或对象区域之间存在关系,则可能值得尝试将状态形状标准化。

这是 Redux 作者的好文章。它在谈论 Redux,但核心概念与 Vuex 非常相似。
https://redux.js.org/docs/recipes/reducers/NormalizingStateShape.html

Vues ORM是一个自动为你做这件事的库。

关于复杂对象的 Vuex 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43596031/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com