constructor(props, context) {
    super(props, context);

    const {deferredMeasurementCache, fixedColumnCount, fixedRowCount} = props;

    this._maybeCalculateCachedStyles(true);

    if (deferredMeasurementCache) {
      this._deferredMeasurementCacheBottomLeftGrid =
        fixedRowCount > 0
          ? new CellMeasurerCacheDecorator({
              cellMeasurerCache: deferredMeasurementCache,
              columnIndexOffset: 0,
              rowIndexOffset: fixedRowCount,
            })
          : deferredMeasurementCache;

      this._deferredMeasurementCacheBottomRightGrid =
        fixedColumnCount > 0 || fixedRowCount > 0
          ? new CellMeasurerCacheDecorator({
              cellMeasurerCache: deferredMeasurementCache,
              columnIndexOffset: fixedColumnCount,
              rowIndexOffset: fixedRowCount,
            })
          : deferredMeasurementCache;

      this._deferredMeasurementCacheTopRightGrid =
        fixedColumnCount > 0
          ? new CellMeasurerCacheDecorator({
              cellMeasurerCache: deferredMeasurementCache,
              columnIndexOffset: fixedColumnCount,
              rowIndexOffset: 0,
            })
          : deferredMeasurementCache;
    }
  }
Renders 1, 2, or 4 Grids depending on configuration.
A main (body) Grid will always be rendered.
Optionally, 1-2 Grids for sticky header rows will also be rendered.
If no sticky columns, only 1 sticky header Grid will be rendered.
If sticky columns, 2 sticky header Grids will be rendered.