管理redux状态以获取项目列表

时间:2016-10-21 14:13:52

标签: reactjs redux

在此之前,我按照以下方式管理Redux州将军:
例如,我从减速器设置isRequestTags 但现在我面临另一个挑战:
假设我有一个标签列表,对于每个标签,可以有一些状态定义为isPrimaryTag 如何为具有共同属性的项目列表定义状态?

1 个答案:

答案 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
]

所有这一切,我不完全确定这是不是你要问的。