Skip to content

Commit 1945939

Browse files
sammy-SCfacebook-github-bot
authored andcommitted
avoid calling setState when onScrollEmitter exists (#44609)
Summary: Pull Request resolved: #44609 changelog: [internal] Do not call setState when onScrollEmitter exists to prevent unnecessary re-render. Reviewed By: yungsters Differential Revision: D57537436 fbshipit-source-id: 3a0883171e8fa7995b715aff84702daca075f843
1 parent 8d5bbca commit 1945939

File tree

1 file changed

+7
-3
lines changed
  • packages/react-native/Libraries/Components/ScrollView

1 file changed

+7
-3
lines changed

packages/react-native/Libraries/Components/ScrollView/ScrollView.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -963,9 +963,13 @@ class ScrollView extends React.Component<Props, State> {
963963
let subscription: ?EventSubscription;
964964

965965
this.setState(
966-
({onScrollEmitter}) => ({
967-
onScrollEmitter: onScrollEmitter ?? new EventEmitter(),
968-
}),
966+
({onScrollEmitter}) => {
967+
if (onScrollEmitter) {
968+
return null;
969+
} else {
970+
return {onScrollEmitter: new EventEmitter()};
971+
}
972+
},
969973
() => {
970974
// If `subscription` is null, that means it was removed before we got
971975
// here so do nothing.

0 commit comments

Comments
 (0)