React重新呈现特定组件

时间:2017-04-02 11:53:16

标签: javascript reactjs redux

我有一个控制器,它可以呈现表格和操作按钮。 该表包含Row子项,带有复选框。这是我的渲染功能:

render() {
        <div>
            <Table items={this.props.items}></Table>
            <Actions selectedItems={_.filter(this.props.items, i => i.selected)}
        </div>
}

通过检查每一行,我使用“selected”属性更新列表中的项目。 但是现在,如果我想更改所选的指示,我必须重新渲染所有容器,包括表格。 如何在不渲染整个表格的情况下做到这一点? (仅渲染FloatingActions)

这是我的redux映射:

感谢。

2 个答案:

答案 0 :(得分:-1)

您应该使用react key属性并为每一行指定唯一键 在这种情况下,React调用Table的render方法,但只重新渲染DOM中更改的行 看看here

答案 1 :(得分:-1)

你应该学会在React中思考。每个组件都可以调用render()函数

如果组件开始看起来不同,那么它实际上只会是reRender。

如果您想手动决定是否需要更改某些内容,您也可以使用 componentWillReceiveProps(newProps) 并检查新道具是否不同

这是来自生命圈的方法,如shouldComponentUpdate

但最好考虑在商店中包含您的观看状态。