-
Notifications
You must be signed in to change notification settings - Fork 487
Description
checkIndexBounds is too lenient and allows setting indexes from 0 .. count inclusive, whereas really the only valid values are 0 .. (count-1).
react-swipeable-views/packages/react-swipeable-views-core/src/checkIndexBounds.js
Lines 9 to 12 in a12dd90
| warning( | |
| index >= 0 && index <= childrenCount, | |
| `react-swipeable-view: the new index: ${index} is out of bounds: [0-${childrenCount}].`, | |
| ); |
- I have searched the issues of this repository and believe that this is not a duplicate.
Current Behavior
The warning is only produced after setting index to children.length + 1:
Here is an example warning I see when I set index = 4 having only 3 children:
Warning: react-swipeable-view: the new index: 4 is out of bounds: [0-3].
Expected Behavior
Setting index to exactly children.length should already produce a warning. The warning message should also show the correct range of values.
E.g. setting index to 3 should produce this warning when there are only 3 children:
Warning: react-swipeable-view: the new index: 3 is out of bounds: [0-2].
Steps to Reproduce
This should produce a warning, but it doesn't:
<SwipeableViews index={3}>
<div>A</div>
<div>B</div>
<div>C</div>
</SwipeableViews>Context
This is a minor dev nuisance, where the lenience of react-swipable-views is potentially allowing a dev to not detect code defects.
Your Environment
| Tech | Version |
|---|---|
| react-swipeable-views | 0.14.0 |
| React | 17.0.2 |
| platform | Web |