Как исправить проблему rowCount в реагируемой виртуализации (бесконечный загрузчик) - PullRequest
1 голос
/ 16 мая 2019

Я настраиваю реактивно-виртуализированный загрузчик Infinite в моем проекте, но у меня есть небольшая проблема. Так что у меня нет remoteRowCount, поэтому я нашел одно решение, например:

public rowCount = this.props.hasNextPage ? this.props.list.length + 1 : this.props.list.length;

Но это не работает для меня. Я пытался отладить, почему не работает, но я ничего не нашел.

р

public rowCount = this.props.hasNextPage ? this.props.list.length + 1 : this.props.list.length; 

<InfiniteLoader
        rowCount={this.rowCount}
        isRowLoaded={({ index }) => !!this.props.list[index]}
        loadMoreRows={this.props.loadMoreRows}
        minimumBatchSize={10}
        threshold={5}
      >
        {({ onRowsRendered, registerChild }) => (
          <WindowScroller>
            {({ height, isScrolling, onChildScroll, scrollTop }) => (
              <AutoSizer disableHeight>
                {({ width }) => (
                  <List
                    ref={list => {
                      this.listRef = list;
                      registerChild(list);
                    }}
                    onRowsRendered={onRowsRendered}
                    autoHeight
                    width={width}
                    height={height}
                    rowCount={this.props.list.length}
                    rowHeight={56}
                    rowRenderer={this.rowRenderer}
                    overscanRowCount={0}
                    isScrolling={isScrolling}
                    onScroll={onChildScroll}
                    scrollTop={scrollTop}
                  />
                )}
              </AutoSizer>
            )}
          </WindowScroller>
        )}
      </InfiniteLoader>

1 Ответ

0 голосов
/ 17 мая 2019

Я исправил , но я хочу помочь вам (если у вас похожая проблема)

Прежде всего, постарайтесь понять, почему не работает правильно.Для меня это работает правильно с произвольным большим числом, но с rowCount это не работает.

В моем случае проекта:

  • Сначала я получаю начальныйсписок (componentDidMount).

  • Во-вторых, я выяснил, когда я добавил случайное число в rowCount, это было почти хорошо.

  • В-третьих, я попытался отладитьloadMoreRows, я начал с indexRange .Тадааа, это проблема.Для меня startIndex и stopIndex это было одно и то же значение.Итак, я попытался выяснить, почему?И я обнаружил, потому что выражение калькулятора rowCount получает предыдущее значение, а не текущее значение.

Извините за языковые ошибки

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