Обновление списка при изменении избыточного магазина - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь обновить список, когда мой магазин приставок меняется, но по какой-то странной причине это не так. Я должен вручную обновить страницу, чтобы увидеть мои изменения. Вот фрагмент моего компонента 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}
      />
    );
  };

1 Ответ

0 голосов
/ 12 сентября 2018

Да, я столкнулся с той же проблемой. Это потому, что ссылки на ваши объекты не меняются, когда вы делаете

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

Взгляните на неизменность .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...