React 实现常见的拖拽组件
发表于|更新于|前端
|总字数:78|阅读时长:1分钟|浏览量:
代码地址
可伸缩侧边栏
/src/components/resizeBox手写拖拽 Modal 组件
/src/components/dragModal使用 dnd-kit 实现拖拽组件
/src/components/dndkit使用 dnd-kit 实现嵌套可拖动菜单
/src/components/dndkitMenu
功能演示
文章作者: Mr.XiaoSi
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小四先生的云!
相关推荐

2025-04-23
React Compiler
React Compiler React Compiler 是目前在 RC 中的一个新编译器,会自动记住你的代码,避免忘记或者错误的使用 useMemo、useCallback、React.memo 等 React 的 API 项目地址创建 React Compiler 应用新建一个项目1234567891011# 通过 vite 创建项目npm create vite@latest# Project name:react-compiler# Select a framework:React# Select a variant: (这里一定要选择 TypeScript, 因为 TypeScript+SWC 还没有适配)TypeScript 安装配置依赖 安装 babel-plugin-react-compiler 和 eslint-plugin-react-hooks 12npm install --save-dev --save-exact babel-plugin-react-compiler@rcnpm install --save-dev eslint-plugin-...

2025-11-30
微前端SDK
路线规划 规划图地址 项目介绍 整个 SDK 都是围绕 getRoutesApi、getUserInfoApi 这两个接口进行设计的,旨在简化微前端应用的开发 getRoutesApi 接口用于获取应用路由信息,包括主应用和微应用的路由配置。因为 Qiankun 的 entry 配置比较特殊,在本地开发时是本地服务 "entry": "http://localhost:5174",在生产环境是文件路径 "entry": "/subapp/",所以 主应用 需要使用 vite-plugin-mock 插件 mock 接口 getUserInfoApi 接口用于获取用户 user、权限 permissions、角色 role、配置信息 setting,以便进行权限控制和个性化设置。理论上来说 permissions 中应当包含 getRoutesApi 中的所有的路由路径,否则页面出走 <NotPermission /> 组件。(目前的方案是所有的组件手动包一层 <NotPer...
2024-11-13
Qiankun + Vite 多个子应用共存
介绍 最初接触 umi 微前端 时,感觉这个就是两种子应用的加载方式 路由匹配方式 手动加载方式 后来在网上看到大佬的发的这个文章 探索微前端的场景极限,才发现这个实现不简单,引用了大佬的话: 在应用 A 中通过调用 loadMicroApp(B) 的方式唤起微应用 B,然后在微应用 B 中通过 loadMicroApp(C) 的方式唤起微应用 C,通过这样的调用链路即可很完美的完成产品上的诉求。 但是现实情况往往没有那么简单,前面提到过,若想要 loadMicroApp API 能符合预期的运行,我们需要确保被加载的微应用是不含自己的路由系统,否则会出现多个应用间路由系统互相 抢占/冲突 的情况。 这种场景下,我们其实只需要确保微应用的路由系统不会干扰到全局的 URL 系统即可。幸运的是 react-router 的 memory history 模式很好的解决了这一问题。 思路 主应用 app 有链接两个子应用 app1 和 app2 子应用 app1 可以通过 loadMicroApp(app1) 的方式打开子应用 app2 仓库地址项目搭建...

2025-01-12
Qiankun + Vite 实现微前端
介绍 Lerna 是一个快速、领先的构建系统,用于管理和发布来自同一源码仓库的多个 JavaScript/TypeScript 软件包 Qiankun 是一个基于 single-spa 的微前端实现库,在帮助大家能更简单、无痛的构建一个生产可用微前端架构系统 Vite 是一个超快的前端构建工具,赋能下一代 Web 应用的发展 思路 主应用 app 配置四个菜单 App、 App1、App2、App3 菜单 App 链接主应用 app,可以调用子应用 app1、app2、app3 菜单 App1 链接子应用 app1,样式未隔离,组件库样式未隔离 菜单 App2 链接子应用 app2,样式未隔离,组件库样式隔离 菜单 App3 链接子应用 app3,样式隔离,组件库样式未隔离 项目地址实践包版本 node: 18.20.7 npm: 10.8.2 lerna: 8.1.8 vite: 6.1.0 qiankun: 2.10.16 node 版本小于 18 注意以下几点 所有应用 使用 Vite: 5.4.11 所有子应用 安装 vite-plug...

2023-11-29
React 使用 Tinymce 富文本
感谢 TinyMCE 中文文档中文手册 提供的文档支持。 常见功能代码地址功能演示 使用本地方式引入(跳过 API Key) 在 社区版 下载对应版本的压缩包 解压后将 tinymce 文件夹放到项目的 public 文件夹下 在 src/components/CustomEditor/index.tsx 中找到 tinymceScriptSrc,然后引入本地的 tinymce 文件 1234567<Editor ..., init={{ ..., tinymceScriptSrc={'/tinymce/tinymce.min.js'} }}/> 注意: 一定要放在 public 文件下,否则会被打包,导致找不到文件 下载语言包 在 语言包下载地址 找到需要的语言包并下载 解压后将 langs 文件夹放到项目的 public 文件夹下 在 src/components/CustomEditor/index.tsx 中找到 language,填上对应的语...

2025-10-23
前端监控方案
常见监控方案 Sentry:一个开源的、实时的错误监控平台。功能全面、一站式解决方案、多端支持。强烈推荐!!! Web-See:前端监控 SDK,可用来收集代码报错、性能数据、页面录屏、用户行为、白屏检测等个性化指标数据并上报。支持多种错误还原方式:定位源码、播放录屏、记录用户行为 WebTracing:一个基于 JavaScript 的埋点 SDK。为你的前端项目提供【 行为、性能、异常、请求、资源、路由、曝光、录屏 】监控手段 演示地址项目实践思路 优先看 Web-See 文档 使用 Vite + React 创建项目,复刻 Web-See-Vue-Demo 不上报错误,把报错信息存储到 IndexDB 中,通过 idb-keyval 操作 IndexDB 线上出现问题时,下载 IndexDB 中的数据,在后台管理平台中导入并查看问题 项目介绍 从 项目地址 拉取示例代码,通过 pnpm install 安装依赖 核心文件是 src/monitor,里面封装了写入数据到 IndexDB 的方法,以及下载数据到本地的方法 由于 IndexDB 存储数据大小...
评论
公告
由于个人能力和知识范围有限,如果文章中出现了错误,还请您谅解。




