Skip to main content

Command Palette

Search for a command to run...

πŸ“ Hashnode Article Draft

Published
β€’2 min read
H
I am a full-stack web and mobile app developer and self-taught. my main goal of here is to learn something new, discuss with programmers, and solve the problem.

Introducing react-native-draggable-list β€” A Smooth, Animated Drag & Drop List for React Native

Building smooth drag-and-drop interactions in React Native can be tricky β€” especially if you're aiming for great performance, gesture accuracy, and a clean UI. Today, I’m excited to share something I built to simplify that process:

πŸš€ react-native-draggable-list

A lightweight and customizable drag-and-drop list component for React Native using Expo, React Native Reanimated, and Gesture Handler.
It’s designed to be simple, performant, and developer-friendly.


🌟 Why I Built This

While working on a mobile project, I needed a draggable list with:

  • Smooth animations

  • Easy sorting

  • Customizable list items

  • A reusable component API

  • Expo compatibility

Most existing solutions were heavy or outdated β€” so I built my own.


πŸŽ₯ Demo

Here’s the drag-and-drop interaction in action:\


πŸ“¦ GitHub Repository

The full source code, installation steps, and usage example are available here:

πŸ‘‰ GitHub: https://github.com/hamidukarimi/react-native-draggable-list


πŸ“ Project Structure

Here’s how the project is organized:

react-native-draggable-list/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ (pages)/
β”‚   β”‚   β”œβ”€β”€ index.jsx
β”‚   β”‚   └── _layout.jsx
β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   └── demo.gif
β”‚   └── _globals.css
β”œβ”€β”€ README.md
β”œβ”€β”€ package.json
β”œβ”€β”€ tailwind.config.js
└── app.json

πŸ› οΈ Features

βœ… Drag & Drop

Smooth sorting using react-native-gesture-handler + react-native-reanimated.

βœ… Customizable Items

Pass your own component to render each list row.

βœ… Expo-Friendly

Works perfectly with Expo SDK 52+.

βœ… Lightweight

Only a few internal hooks, simple structure β€” no unnecessary overhead.


πŸ“š Tech Stack

  • React Native

  • Expo

  • React Native Reanimated

  • Gesture Handler

  • React Native FlatList


πŸš€ Future Improvements

I’m actively iterating on this project, and upcoming updates include:

  • Add more drag handle icon sets

  • Add dark mode

  • Convert to TypeScript version

  • Release a standalone NPM package

  • Better documentation

  • Add more examples


⭐ Contributions Welcome

If you want to contribute, improve animations, or add new features:

πŸ‘‰ Fork the repo
πŸ‘‰ Open a pull request
πŸ‘‰ Or start a discussion

Any contribution is appreciated!


πŸ’¬ Final Thoughts

Open-source is a big part of how we all learn and grow as developers.
I hope react-native-draggable-list saves someone time and helps push their UI quality to the next level.

If you like it, feel free to star the repo ⭐ on GitHub β€” it really helps!


πŸ”– Suggested Tags for Hashnode

Add these when publishing:

  • React Native

  • Expo

  • Mobile Development

  • Open Source

  • JavaScript

  • UI Components

  • Drag and Drop

  • Reanimated