Description
iOS Accessibility setting reduce motion breaks Sortable:
Simulator.Screen.Recording.-.iPhone.16.-.2025-05-21.at.12.18.47.mp4
Steps to reproduce
Enable reduce motion in Settings > Accessibility > Animation > Reduce motion.
<Sortable.Grid
columns={1}
data={classifiedSportsArray}
renderItem={renderSport}
enableActiveItemSnap={false}
onDragEnd={params =>
// ...
}
activeItemScale={1.0}
/>
The solution I founded was to set itemsLayout to null:
import {
useReducedMotion,
} from 'react-native-reanimated';
const reduceMotion = useReducedMotion();
// ...
<Sortable.Grid
columns={1}
data={classifiedSportsArray}
renderItem={renderSport}
enableActiveItemSnap={false}
onDragEnd={params =>
// ...
}
activeItemScale={1.0}
{...(reduceMotion && {itemsLayout: null})}
/>
But it seems like a hack, imo the lib should handle it. Or is there another prop that I should use to handle it ?
Code snippet, Snack or GitHub repository link
/
React Native Sortables version
1.6.0
Reanimated version
3.16.7
React Native Gesture Handler version
2.20.2
React Native version
0.76.7
Platforms
iOS
Architecture
Fabric (New Architecture)
Workflow
Expo Dev Client
Device
iOS simulator
Acknowledgements
Yes
Description
iOS Accessibility setting reduce motion breaks Sortable:
Simulator.Screen.Recording.-.iPhone.16.-.2025-05-21.at.12.18.47.mp4
Steps to reproduce
Enable reduce motion in Settings > Accessibility > Animation > Reduce motion.
The solution I founded was to set itemsLayout to null:
But it seems like a hack, imo the lib should handle it. Or is there another prop that I should use to handle it ?
Code snippet, Snack or GitHub repository link
/
React Native Sortables version
1.6.0
Reanimated version
3.16.7
React Native Gesture Handler version
2.20.2
React Native version
0.76.7
Platforms
iOS
Architecture
Fabric (New Architecture)
Workflow
Expo Dev Client
Device
iOS simulator
Acknowledgements
Yes