Skip to content

Commit 58c9567

Browse files
miyabifacebook-github-bot
authored andcommitted
Update _scrollAnimatedValue offset of ScrollViews. (#19481)
Summary: `_scrollAnimatedValue` offset of ScrollView is set once in `UNSAFE_componentWillMount` but it is never updated. It causes unexpected render result. ![rn-scrollview-fix1](https://user-images.githubusercontent.com/143255/40640292-61843eca-6350-11e8-9412-f5383ea65ea0.gif) So I suggest to update `_scrollAnimatedValue` offset when ScrollView contentInset is updated. Pull Request resolved: #19481 Differential Revision: D14223304 Pulled By: cpojer fbshipit-source-id: 4191cfcf6414adf3a0abd156517d5f9778565671
1 parent 14d9b2d commit 58c9567

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

Libraries/Components/ScrollView/ScrollView.js

+12
Original file line numberDiff line numberDiff line change
@@ -658,6 +658,18 @@ class ScrollView extends React.Component<Props, State> {
658658
this._headerLayoutYs = new Map();
659659
}
660660

661+
UNSAFE_componentWillReceiveProps(nextProps: Props) {
662+
const currentContentInsetTop = this.props.contentInset
663+
? this.props.contentInset.top
664+
: 0;
665+
const nextContentInsetTop = nextProps.contentInset
666+
? nextProps.contentInset.top
667+
: 0;
668+
if (currentContentInsetTop !== nextContentInsetTop) {
669+
this._scrollAnimatedValue.setOffset(nextContentInsetTop || 0);
670+
}
671+
}
672+
661673
componentDidMount() {
662674
this._updateAnimatedNodeAttachment();
663675
}

0 commit comments

Comments
 (0)