成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

33k Stars 知名前端庫停止維護,npm 包已棄用!

開發 前端
知名 React 拖拽庫 react-beautiful-dnd 宣布了項目棄用的決定,未來將不再維護。這一決定源于其存在的缺陷與局限性,促使作者轉向開發一個更加現代化的拖拽解決方案——Pragmatic drag and drop。

近期,知名 React 拖拽庫 react-beautiful-dnd 宣布了項目棄用的決定,未來將不再維護。這一決定源于其存在的缺陷與局限性,促使作者轉向開發一個更加現代化的拖拽解決方案——Pragmatic drag and drop(下面會介紹),其旨在提供更佳的性能、靈活性和可訪問性。

作為 React 生態中不可或缺的工具庫,react-beautiful-dnd 曾以其卓越的拖放體驗贏得了廣泛贊譽,其 npm 周下載量高達 163 萬次。

對于仍希望繼續使用 react-beautiful-dnd 的開發者,以下是一些可行的選擇:

  • fork 與修補:可以fork react-beautiful-dnd 項目以繼續使用它,或者利用patch-package進行定制修補。
  • 遷移至 fork 版本:考慮遷移到react-beautiful-dnd的某個活躍 fork 版本,以繼續享受其功能。
  • 探索其他解決方案:考慮遷移到如 dnd-kit 等其他類似的拖拽解決方案。
  • 轉向 Pragmatic drag and drop:為了獲得更快速、更現代化的體驗,可以手動遷移到Pragmatic drag and drop,或者利用官方提供的遷移包進行自動遷移。

下面來看看前端還有哪些好用的拖拽庫。

Vue

VueDraggablePlus

VueDraggablePlus 是一個支持 Vue2 和 Vue3 的拖拽庫,尤雨溪都在推薦:

Sortablejs 是一個非常流行的拖拽庫,不過這個庫的 Vue 3 版本已經三年沒更新了,可以說是已經跟 Vue 3 嚴重脫節,所以就誕生了 VueDraggablePlus,這個組件就是基于 Sortablejs 實現的。

Github:https://github.com/Alfred-Skyblue/vue-draggable-plus。

React

dnd-kit

dnd-kit 是一個專為 React 設計的現代化、輕量級、高性能且易于訪問的拖拽解決方案,其 npm 周下載量 200 萬左右。

import React, {useState} from 'react';
import {DndContext} from '@dnd-kit/core';
import {Draggable} from './Draggable';
import {Droppable} from './Droppable';

function Example() {
  const [parent, setParent] = useState(null);
  const draggable = (
    <Draggable id="draggable">
      Go ahead, drag me.
    </Draggable>
  );

  return (
    <DndContext onDragEnd={handleDragEnd}>
      {!parent ? draggable : null}
      <Droppable id="droppable">
        {parent === "droppable" ? draggable : 'Drop here'}
      </Droppable>
    </DndContext>
  );

  function handleDragEnd({over}) {
    setParent(over ? over.id : null);
  }
}

Githubhttps://github.com/clauderic/dnd-kit。

react-dnd

react-dnd 是一個由 React 和 Redux 的核心作者 Dan Abramov 開發的強大的庫,旨在幫助開發者輕松構建復雜的拖拽界面,其 npm 周下載量 200 萬左右。

import React from 'react'
import { useDrag } from 'react-dnd'
import { ItemTypes } from './Constants'

export default function Card({ isDragging, text }) {
  const [{ opacity }, dragRef] = useDrag(
    () => ({
      type: ItemTypes.CARD,
      item: { text },
      collect: (monitor) => ({
        opacity: monitor.isDragging() ? 0.5 : 1
      })
    }),
    []
  )
  return (
    <div ref={dragRef} style={{ opacity }}>
      {text}
    </div>
  )
}

Githubhttps://github.com/react-dnd/react-dnd。

通用

pragmatic-drag-and-drop

pragmatic-drag-and-drop 是 react-beautiful-dnd 作者開發的新拖拽庫。它是一個較底層的拖拽工具鏈,它使得開發者能夠安全且成功地利用瀏覽器內置的拖拽功能。這個工具鏈不依賴于特定的視圖層,因此可以與 React、Svelte、Vue、Angular 等多種前端框架無縫集成。一些大型產品,如Jira、Confluence,都在使用 Pragmatic Drag and Drop 來實現拖拽功能。

Github:https://github.com/atlassian/pragmatic-drag-and-drop。

Swapy

Swapy 是一個全新的拖拽庫,僅發布三個月,就在 GitHub 上收獲了 6k+ Stars,并且還在快速增長中。Swapy 與框架無關,只需幾行代碼就可以將任何布局轉換為可拖動交換的布局。

Github:https://github.com/TahaSh/swapy。

責任編輯:姜華 來源: 前端充電寶
相關推薦

2025-01-09 09:05:15

2025-01-15 12:07:49

2025-03-25 09:20:00

NPM庫開發代碼

2024-09-30 10:11:04

2024-10-17 14:14:29

2020-12-03 18:29:30

KubernetesDocker容器

2020-12-07 07:48:35

K8sDockerKubernetes

2011-01-21 10:48:31

openSUSE 11

2023-01-18 22:45:24

Linux命令

2017-09-08 15:20:13

數據庫MysqlGalera

2025-05-21 09:47:57

2013-12-10 09:54:24

微軟Windows 7

2023-09-08 10:21:21

2022-04-08 16:14:21

FedoraBIOS32 位操作系統

2023-09-22 16:54:42

GNOME 45系統

2024-06-27 13:45:21

2022-06-03 09:41:03

DockerKubernetes容器

2021-06-04 05:21:19

KubernetesDocker容器

2023-10-12 07:46:02

2011-03-23 09:40:37

Google GearChrome
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久一视频 | 国产午夜精品久久久久免费视高清 | 国产精品综合一区二区 | 日韩一区二区三区视频在线播放 | 天堂资源 | 欧美黑人激情 | 国产亚洲欧美日韩精品一区二区三区 | 在线一区视频 | 国产伦一区二区三区四区 | 中文字幕在线观看一区 | 国产成人精品一区二三区在线观看 | 欧美日韩黄色一级片 | 91久久| 免费视频一区 | 性一区| 午夜影院在线观看视频 | 国产精品久久一区二区三区 | 色综合天天天天做夜夜夜夜做 | 午夜免费在线 | 特黄色一级毛片 | 毛片在线看看 | 久久久久久国产一区二区三区 | 日韩成人在线观看 | av在线一区二区 | 久久久久久久久久久久久久国产 | 色一级| 国产免费一区 | 成人免费视屏 | 91视频在线看 | 三级黄色片在线 | 香蕉久久久久久 | 午夜精品久久久久久久久久久久久 | 国产第一页在线播放 | 久久91精品| 欧美日韩久久久久 | 精品日韩一区 | 国产精品久久久久久久一区二区 | 一区二区三区在线观看免费视频 | 欧美日韩亚洲视频 | 秋霞影院一区二区 | 全免费a级毛片免费看视频免 |