From d44b8d647ea42edef5c3a57208165ea84a5cdbed Mon Sep 17 00:00:00 2001 From: olavk Date: Mon, 3 Apr 2017 13:30:27 +0300 Subject: [PATCH] Allow Grid.props.isScrolling to override Grid.state.isScrolling in _calculateChildrenToRender --- source/Grid/Grid.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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.