在React的shouldComponentUpdate中比较对象数组是否有意义?

时间:2016-06-04 14:50:11

标签: javascript arrays performance reactjs javascript-objects

我正在尝试使用React,我正在尝试优化组件更新等。

我正在构建一个返回对象数组的搜索组件。为了优化它,我尝试在执行新搜索后,如果搜索结果相同,则阻止我的组件更新。

现在我正在使用Immutable来比较它们并且它有效。

关于性能方面的任何评论?一般来说这样做有意义吗?有没有更有效的方法呢?

这是我的组成部分。

class ItemsListContainer extends React.Component {

  componentDidMount() {
    itemsApi.getItems();
    store.dispatch(loadSearchLayout('items', 'found items'));
  }

  shouldComponentUpdate(nextProps, nextState) {
    let prevItems = Immutable.fromJS(this.props.items);
    let nextItems = Immutable.fromJS(nextProps.items);
    return !Immutable.is(prevItems, nextItems)
  }

  render() {
    return (
      <ItemsList items={this.props.items} />
    );
  }

};

const mapStateToProps = function(store) {
  return {
    items: store.itemsState.items
  };
};

export default connect(mapStateToProps)(ItemsListContainer);

1 个答案:

答案 0 :(得分:0)

如果我有必要的话,我会留下这个评论作为评论。

请参阅Performance issues with a tree structure and shouldComponentUpdate in React / Redux