帮我找一个使用react-beautiful-dnd的用例
时间: 2023-08-19 09:05:48 浏览: 146
react-dnd-example:如何实现react-beautiful-dnd的示例
当然可以,这里有一个使用 `react-beautiful-dnd` 的简单用例:
```jsx
import React, { useState } from 'react';
import { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';
const initialData = [
{ id: '1', content: 'Task 1' },
{ id: '2', content: 'Task 2' },
{ id: '3', content: 'Task 3' },
{ id: '4', content: 'Task 4' },
];
const App = () => {
const [data, setData] = useState(initialData);
const onDragEnd = (result) => {
if (!result.destination) return;
const items = Array.from(data);
const [reorderedItem] = items.splice(result.source.index, 1);
items.splice(result.destination.index, 0, reorderedItem);
setData(items);
};
return (
<DragDropContext onDragEnd={onDragEnd}>
<Droppable droppableId="tasks">
{(provided) => (
<ul {...provided.droppableProps} ref={provided.innerRef}>
{data.map((item, index) => (
<Draggable key={item.id} draggableId={item.id} index={index}>
{(provided) => (
<li
{...provided.draggableProps}
{...provided.dragHandleProps}
ref={provided.innerRef}
>
{item.content}
</li>
)}
</Draggable>
))}
{provided.placeholder}
</ul>
)}
</Droppable>
</DragDropContext>
);
};
export default App;
```
在这个例子中,我们使用 `DragDropContext`、`Droppable` 和 `Draggable` 组件来创建一个可拖拽的任务列表。当用户拖动任务时,我们使用 `onDragEnd` 回调函数来更新任务的顺序。
阅读全文