我有一个包含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()
}
谢谢:)
答案 0 :(得分:0)
您是否在每个项目中添加了key
? React使用key
来确定兄弟姐妹是否已经改变。
https://facebook.github.io/react/docs/lists-and-keys.html#keys