Skip to content

[Bug]: iOS Sortable broken when accessibility setting reduce motion is enabled #376

@Aximem

Description

@Aximem

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions