React Native 的拖放系统
Drax 是一个用 TypeScript 编写的用于 React Native 的声明式拖放框架。它支持自由形式的拖放、可排序的列表和网格、交叉列重新排序、拖放手柄、碰撞算法等。 基于 Reanimated 4 和 Gesture Handler 3,采用 UI 线程优先架构,可实现流畅的 60fps 交互。 平台: iOS、Android、Web
acceptsDrag 接受或拒绝放置| 特性 | Drax | reanimated-dnd | sortables |
|---|---|---|---|
| 自由形式拖放 | ✅ | ✅ | ➖ |
| 可排序列表/网格 | ✅ | ✅ | ✅ |
| 混合大小网格(非统一跨度) | ✅ | ➖ | ➖ |
| 跨容器/跨列表重新排序 | ⚠️ 实验性 | ➖ | ➖ |
| 无列表依赖性(FlatList、FlashList、LegendList) | ✅ | ➖ | ➖ |
| 拖放手柄 | ✅ | ✅ | ✅ |
| 拖放状态样式 | 15 个属性 + 不活跃 | onStateChange | 5 个属性 + 钩子 |
| 控件指示器 | ✅ | ➖ | 仅适用于网格 |
| UI 线程 DnD 碰撞 | ✅ | ➖ | ➖ |
| 事件回调 | 19 种类型 | ~12 种类型 | ~10 种类型 |
| Ac |
暂无开放 Issues,或尚未同步最近议题。