React redux更改列表中的项目

时间:2017-03-26 15:51:23

标签: javascript reactjs redux

我有一个包含50行的表,每行都是列表中的项目。

我想在单击行中的复选框时将项目设置为选中。

通过这样做,我看到所有50行都是重新渲染的。

如何只设置特定项目? (没有shouldcomponentupdate)。

case ITEM_SELECTED:
        const items = fromJS(state.items)
            items.update(
            items.findIndex(function(item) {
                return item._id == action.id;
            }), function(item) {
                return item.selected = action.selected;
            }
        );
        return {
            ...state,
            items: items.toJS()
        }

谢谢:)

1 个答案:

答案 0 :(得分:0)

您是否在每个项目中添加了key? React使用key来确定兄弟姐妹是否已经改变。

https://facebook.github.io/react/docs/lists-and-keys.html#keys