diff --git a/source/Grid/Grid.js b/source/Grid/Grid.js index aec8bcd70..6d14cf440 100644 --- a/source/Grid/Grid.js +++ b/source/Grid/Grid.js @@ -120,6 +120,11 @@ export default class Grid extends PureComponent { */ id: PropTypes.string, + /** + * Provide a way to override isScrolling through props. Useful for WindowScroller to use cell caching. + */ + isScrolling: PropTypes.bool, + /** * Optional renderer to be used in place of rows when either :rowCount or :columnCount is 0. */ @@ -751,13 +756,18 @@ export default class Grid extends PureComponent { } = props const { - isScrolling, scrollDirectionHorizontal, scrollDirectionVertical, scrollLeft, scrollTop } = state + let isScrolling = state.isScrolling; + if (Object.hasOwnProperty.call(props, 'isScrolling')) { + // If isScrolling is defined in props, use it to override the value in state + isScrolling = props.isScrolling + } + this._childrenToDisplay = [] // Render only enough columns and rows to cover the visible area of the grid.