在此之前,我按照以下方式管理Redux州将军:
例如,我从减速器设置isRequestTags
但现在我面临另一个挑战:
假设我有一个标签列表,对于每个标签,可以有一些状态定义为isPrimaryTag
如何为具有共同属性的项目列表定义状态?
答案 0 :(得分:0)
如果你有一个标签列表,并且每个标签都有一个名称和一个标志,那么你就不能以任何有意义的方式“重构”它,例如,
tags: [
{ name: 'foo', isPrimary: true },
{ name: 'bar', isPrimary: false }
]
如果公共属性本身是一个对象,特别是一个大对象,那么您将使用正常的状态形状实践outlined in the Redux docs。
例如,如果每个标签都有这样的内容:
tagInfo:{ isPrimary:是的, 组:'什么', somethingElse:{etc:'etc'} }
和多个标签具有相同的值,您需要提供ID /索引:
tagInfos: [
{
isPrimary: true,
group: 'whatever',
somethingElse: { etc: 'etc' }
},
{
isPrimary: true,
group: 'whatever',
somethingElse: { etc: 'etc' }
}
]
tags: [
{ name: 'foo', tagInfoIndex: 0 },
{ name: 'bar', tagInfoIndex: 1 }
// etc
]
所有这一切,我不完全确定这是不是你要问的。