当redux商店更改时更新列表

问题描述 投票:0回答:1

当我的redux商店发生变化时,我试图更新列表,但由于一些奇怪的原因,它不是。我必须手动刷新页面才能看到我的更改。这是我的List组件和rowRenderer的片段。

    <InfiniteLoader
                    isRowLoaded={this._isRowLoaded}
                    loadMoreRows={this._loadMoreRows}
                    rowCount={visibleRequest.length}
                  >
                    {({ onRowsRendered, registerChild }) => (
                      <AutoSizer>
                        {({ height, width }) => (
                          <List
                            ref={registerChild}
                            className="List"
                            height={height}
                            rowHeight={listRowHeight}
                            onRowsRendered={onRowsRendered}
                            rowCount={rowCount}
                            rowRenderer={this._rowRenderer}
                            width={width}
                          />
                        )}
                      </AutoSizer>
                    )}
                  </InfiniteLoader>
                  
                  
                  

_rowRenderer = ({ index, key, style }) => {
    const { loadedRowsMap, selected } = this.state;
    const row = this.getDatum(index);
    let content;
    if (loadedRowsMap[index] === STATUS_LOADED) {
      content = row;
    } else {
      content = (
        <div className="placeholder" style={{ width: _.random(100, 200) }} />
      );
    }
    return (
      <PendingChat
        key={key}
        content={content}
        style={style}
        row={row}
        {...this.props}
      />
    );
  };
javascript reactjs redux react-redux react-virtualized
1个回答
0
投票

是的,我遇到了同样的问题。这是因为当你这样做时,对你的对象的引用不会改变

const row = this.getDatum(index);
    let content;
    if (loadedRowsMap[index] === STATUS_LOADED) {
      content = row;
    }

看看immutability

© www.soinside.com 2019 - 2024. All rights reserved.