Table in react-virtualized 不呈现任何行

Table in react-virtualized does not render any rows

我在使用 react-virtualized Table(在 AutoSizer 内的 InfiniteLoader 内)和自定义行渲染器时遇到问题。 Header 行已呈现,但没有数据行。 rowRendererrowGetter 甚至都不会被调用任何行。我检查了数据是否存在 (this.props.requests)。

我错过了什么,或者我该如何进行调试?

<AutoSizer>
  {({ height, width }) => (
    <InfiniteLoader
      isRowLoaded={this.isRowLoaded}
      loadMoreRows={this.props.loadMoreEntries}
      rowCount={(this.props.requests || []).length}
    >
      {({ onRowsRendered, registerChild }) => (
        <Table
          deferredMeasurementCache={this._cache}
          onRowsRendered={onRowsRendered}
          overscanRowCount={2}
          ref={registerChild}
          height={height}
          headerHeight={50}
          rowCount={(this.props.requests || []).length}
          rowHeight={this._cache.rowHeight}
          rowRenderer={this._rowRenderer}
          rowGetter={this._rowGetter}
          onRowClick={this.rowClicked}
          width={width}
        >
          <Column
            dataKey="requestType"
            label="RqType"
            width={100}
            cellRenderer={this._renderRequestType}
          />
          ...
        </Table>
      )}
    </InfiniteLoader>
  )}
</AutoSizer>

我的猜测是容器 div 没有固定高度,并且由于您使用的是 Autosizer,因此您的 table 最终高度 = 0。尝试使用固定高度heightTable 的道具和容器 div (可能基于当前行数 * 行高)。

您也可以检查 rowCount 是否为阳性,但据我所知应该没问题。