diff --git a/src/platform/reactnative/viewrenderer/ViewRenderer.tsx b/src/platform/reactnative/viewrenderer/ViewRenderer.tsx index 323c40a6..e31f7792 100644 --- a/src/platform/reactnative/viewrenderer/ViewRenderer.tsx +++ b/src/platform/reactnative/viewrenderer/ViewRenderer.tsx @@ -30,6 +30,7 @@ export default class ViewRenderer extends BaseViewRenderer { } : { ref: this._setRef, + onLayout: this._onItemLayout, style: { left: this.props.x, position: "absolute", @@ -75,6 +76,12 @@ export default class ViewRenderer extends BaseViewRenderer { this._viewRef = view; } + private _onItemLayout = (): void => { + if (this.props.onItemLayout) { + this.props.onItemLayout(this.props.index); + } + } + private _onLayout = (event: LayoutChangeEvent): void => { //Preventing layout thrashing in super fast scrolls where RN messes up onLayout event const xDiff = Math.abs(this.props.x - event.nativeEvent.layout.x); @@ -89,9 +96,7 @@ export default class ViewRenderer extends BaseViewRenderer { } } - if (this.props.onItemLayout) { - this.props.onItemLayout(this.props.index); - } + this._onItemLayout(); } private _forceSizeUpdate = (dim: Dimension): void => { if (dim.width === this._dim.width && dim.height === this._dim.height) {