Skip to content

Commit 0acf49a

Browse files
Define the ScrollView decelerationRate default once
The Android default (0.985, ReactScrollView's initial rate) and the default elsewhere (0.998) were each written twice: in the BaseScrollViewProps member initializer and in a file-static constant for the classic constructor, under two #ifdef ANDROID blocks. BaseScrollViewProps::kDefaultDecelerationRate now holds the default for both. The three Frameworks C++ API snapshots list the new constant.
1 parent b8024a0 commit 0acf49a

5 files changed

Lines changed: 7 additions & 9 deletions

File tree

‎packages/react-native/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp‎

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,6 @@
1515

1616
namespace facebook::react {
1717

18-
#ifdef ANDROID
19-
static constexpr Float defaultDecelerationRate = 0.985f;
20-
#else
21-
static constexpr Float defaultDecelerationRate = 0.998f;
22-
#endif
23-
2418
// TODO (T28334063): Consider for codegen.
2519
BaseScrollViewProps::BaseScrollViewProps(
2620
const PropsParserContext& context,
@@ -86,7 +80,7 @@ BaseScrollViewProps::BaseScrollViewProps(
8680
rawProps,
8781
"decelerationRate",
8882
sourceProps.decelerationRate,
89-
defaultDecelerationRate)),
83+
kDefaultDecelerationRate)),
9084
endDraggingSensitivityMultiplier(convertRawProp(
9185
context,
9286
rawProps,

‎packages/react-native/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.h‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,11 @@ class BaseScrollViewProps : public ViewProps {
4343
bool automaticallyAdjustKeyboardInsets{false};
4444
#ifdef ANDROID
4545
// ReactScrollView's initial rate.
46-
Float decelerationRate{0.985f};
46+
static constexpr Float kDefaultDecelerationRate = 0.985f;
4747
#else
48-
Float decelerationRate{0.998f};
48+
static constexpr Float kDefaultDecelerationRate = 0.998f;
4949
#endif
50+
Float decelerationRate{kDefaultDecelerationRate};
5051
Float endDraggingSensitivityMultiplier{1};
5152
bool directionalLockEnabled{};
5253
ScrollViewIndicatorStyle indicatorStyle{};

‎scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1433,6 +1433,7 @@ class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatfor
14331433
public facebook::react::Point contentOffset;
14341434
public facebook::react::ScrollViewIndicatorStyle indicatorStyle;
14351435
public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode;
1436+
public static constexpr facebook::react::Float kDefaultDecelerationRate;
14361437
public std::optional<facebook::react::ScrollViewMaintainVisibleContentPosition> maintainVisibleContentPosition;
14371438
public std::optional<facebook::react::ScrollViewSnapToAlignment> snapToAlignment;
14381439
public std::vector<facebook::react::Float> snapToOffsets;

‎scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4030,6 +4030,7 @@ class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatfor
40304030
public facebook::react::Point contentOffset;
40314031
public facebook::react::ScrollViewIndicatorStyle indicatorStyle;
40324032
public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode;
4033+
public static constexpr facebook::react::Float kDefaultDecelerationRate;
40334034
public std::optional<facebook::react::ScrollViewMaintainVisibleContentPosition> maintainVisibleContentPosition;
40344035
public std::optional<facebook::react::ScrollViewSnapToAlignment> snapToAlignment;
40354036
public std::vector<facebook::react::Float> snapToOffsets;

‎scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -776,6 +776,7 @@ class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatfor
776776
public facebook::react::Point contentOffset;
777777
public facebook::react::ScrollViewIndicatorStyle indicatorStyle;
778778
public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode;
779+
public static constexpr Float kDefaultDecelerationRate;
779780
public std::optional<facebook::react::ScrollViewMaintainVisibleContentPosition> maintainVisibleContentPosition;
780781
public std::optional<facebook::react::ScrollViewSnapToAlignment> snapToAlignment;
781782
public std::vector<Float> snapToOffsets;

0 commit comments

Comments
 (0)