Permalink
Browse files

warn when setting pagingEnabled when snapToInterval at the same time

Reviewed By: fkgozali

Differential Revision: D5326342

fbshipit-source-id: 2bf6b66f81e9aedaad288495f254f04af32dc63d
  • Loading branch information...
sahrens authored and facebook-github-bot committed Jun 27, 2017
1 parent 2b1795c commit afa47924d6c0d6d390fdb0370fc348d0167a95c1
Showing with 9 additions and 2 deletions.
  1. +9 −2 Libraries/Components/ScrollView/ScrollView.js
@@ -32,6 +32,7 @@ const flattenStyle = require('flattenStyle');
const invariant = require('fbjs/lib/invariant');
const processDecelerationRate = require('processDecelerationRate');
const requireNativeComponent = require('requireNativeComponent');
const warning = require('fbjs/lib/warning');
import type {NativeMethodsMixinType} from 'ReactNativeTypes';
@@ -313,8 +314,10 @@ const ScrollView = React.createClass({
/**
* When set, causes the scroll view to stop at multiples of the value of
* `snapToInterval`. This can be used for paginating through children
* that have lengths smaller than the scroll view. Used in combination
* with `snapToAlignment`.
* that have lengths smaller than the scroll view. Typically used in
* combination with `snapToAlignment` and `decelerationRate="fast"`.
* Overrides less configurable `pagingEnabled` prop.
*
* @platform ios
*/
snapToInterval: PropTypes.number,
@@ -605,6 +608,10 @@ const ScrollView = React.createClass({
if (Platform.OS === 'ios') {
ScrollViewClass = RCTScrollView;
ScrollContentContainerViewClass = RCTScrollContentView;
warning(
!this.props.snapToInterval || !this.props.pagingEnabled,
'snapToInterval is currently ignored when pagingEnabled is true.'
);
} else if (Platform.OS === 'android') {
if (this.props.horizontal) {
ScrollViewClass = AndroidHorizontalScrollView;

0 comments on commit afa4792

Please sign in to comment.