React Awesome
- 专门功能选择专业组件 - Headless 配合 UI 组件达到更为理想的结果
- react-table
- react-hook-form
- floatingui
- 选择样式与组件独立的 UI 库
- tailwindcss+daisyui
- rewindui/rewindui
- 避免选择绑定了功能的组件
- antd
- 选择组件库的考虑维度
- 前端/后端 - C 端/B 端
- 信息密度
- 支持平台 - Web/移动端
- 使用支持 ESM 的库
# 状态管理 - jotai
npm add zustand immer use-immer
# UI
npm add classnames
npm add react-icons
npx tailwindcss init -p # tailwindcss
# API
npm add react-query # generic
npm add urql # gql
# 组件
# blueprintjs - v4 发布后不需要 x2 包
npm add @blueprintjs/core @blueprintjs/select @blueprintjs/datetime @blueprintjs/popover2
# 如果需要展示大量数据
npm add @blueprintjs/table
# 移动端样式组件
npm add tailwind-mobile
# 交互
npm add react-virtual # 虚拟滚动
npm add @headlessui/react # 纯功能组件
# 路由
npm add react-router-dom
# 数据
npm add react-hook-form
npm add react-table
# 工具
npm add date-fns lodash-es react-fast-compare通用 UI 组件
- tailwindcss+daisyui笔记daisysaadeghi/daisyui · MIT, CSS · 基于 TailwindCSS 的一套 UI · 主题 · {primary,secondary,accent,neutral}-{,focus,content} · base-{100,200,300,content}打开:/notes/web/style/daisy
- 如果开发人员能力足够
- 如果想要完全控制样式
- 如果想要做自己的产品
- TailwindCSS
- palantir/blueprintGitHubpalantir/blueprintpalantir/blueprint · Blueprint v4.0 & v5.0 semantic swap · 每个 PR 构建成功都会有个 Demo 页面 · https://github.com/palantir/blueprint/pull/5667#issuecomment-1273593824笔记:BlueprinrJS
- CSS 样式定义 + React 封装组件
- 很多组件都可以直接 HTML + CSS 类定义达到效果 - 非常清晰明了
- npm 包含源码 - IDE 能直接看到组件源码
@blueprintjs/select- 多功能 select 组件
- 不控制样式,以逻辑为主
- nextui-org/nextuiGitHubnextui-org/nextuinextui-org/nextui笔记:NextUI
- 与 vercel 无关
- rsuite/rsuiteGitHubrsuite/rsuite
- 各方面神似 AntD - 但比 AntD 轻的多
- ant-design/ant-design笔记Ant Designant-design/ant-design · 丰富强大的组件库 · 不建议产品使用 - 除非是后台管理系统 · 参考 · 推荐使用 react-component,antd 的基础库 · 非常适用于 快速 出原型和结果 · 非常适用于 内部系统 / 后台管理系统打开:/notes/web/react/antd
- MIT, TS
- 1.3MB
- antd 直接依赖 49 个, 间接依赖 19 个 - 共计 68 个依赖
- @ant-design/icons
- dayjs
- rx-
- @antdesign/cssinjs
- mui-org/material-uiGitHubmui-org/material-ui - Material Design 风格
- 如果选择 MD 风格则非常匹配
- 完成程度和成熟度远远高于 antd
- 组件非常多,支持高度样式自定义
- geist-org/geist-uiGitHubgeist-org/geist-ui
- 类似 vercel 的设计风格
- arco-design/arco-designGitHubarco-design/arco-design
- 字节跳动
- DouyinFE/semi-designGitHubDouyinFE/semi-design
- 抖音前端
- 较多的 AntD 内容
- 公司相关设计风格组件库
- carbon-design-system/carbonGitHubcarbon-design-system/carbon
- IBM
- SAP/openui5GitHubSAP/openui5
- microsoft/fluentuiGitHubmicrosoft/fluentui - 微软风格
- pinterest/gestaltGitHubpinterest/gestalt - pinterest
- JetBrains/ring-uiGitHubJetBrains/ring-ui - Jetbrains 产品系列
- 例如 Youtrack
- 查询用的组件功能非常强大 - Query Assist
- Youtrack 的 Issuse 搜索过滤
- segmentio/evergreenGitHubsegmentio/evergreen - Segment
- elastic/euiGitHubelastic/eui
- 组件丰富
- 集成了 ACE 编辑器、Markdown 编辑器、DND
- Search、Suggest、Expression 等查询组件功能强大
- carbon-design-system/carbonGitHubcarbon-design-system/carbon
- 其他风格
- cloudscape-design/componentsGitHubcloudscape-design/components
- design system for the cloud
- magicuidesign/magicuiGitHubmagicuidesign/magicui
- 面向设计工程师的 UI 组件和动效集合。
- DavidHDev/react-bitsGitHubDavidHDev/react-bits
- 可复制使用的动效和交互 React 组件集合。
- mantinedev/mantineGitHubmantinedev/mantine
- emotion
- CSS in JS
npm install @mantine/core @mantine/hooks @mantine/form @mantine/dates dayjs @mantine/notifications @mantine/prism @mantine/tiptap @tabler/icons-react @tiptap/react @tiptap/extension-link @tiptap/starter-kit @mantine/dropzone @mantine/carousel embla-carousel-react @mantine/spotlight @mantine/modals @mantine/nprogress @emotion/react- core
- @floating-ui
- @radix-ui
- 524.6kB
- grommet/grommetGitHubgrommet/grommet
- primefaces/primereactGitHubprimefaces/primereact
- DevExpress/devextreme-reactiveGitHubDevExpress/devextreme-reactive
- 功能强大的 Scheduler
- uiwjs/uiwGitHubuiwjs/uiw
- 国产
- 包含一些特殊组件 - PIN 码、评分、日历
- markdown 编辑器、高德地图、百度地图
- uiwjs/province-city-chinaGitHubuiwjs/province-city-china - 省市区数据
- cloudscape-design/componentsGitHubcloudscape-design/components
- 不再维护/不活跃
- ebs-integrator/ebs-designGitHubebs-integrator/ebs-design
- supabase/uiGitHubsupabase/ui
- rebassjs/rebassGitHubrebassjs/rebass
- 基于 theme-ui 和 styled-system 的基础组件
- 很多样式都通过 props 控制
- 如果喜欢这样的还不如选择 tailwindcss 更加规范实用
Headless UI 组件
- radix-ui/primitivesGitHubradix-ui/primitiveshttps://github.com/radix-ui · by workos · radix-ui/primitives · 用于构建自定义组件非常好的基础库 · 原子组件 - 包含状态管理 · 组件结构 和 状态管理 值得参考 · https://github.com/radix-ui/primitives/blob/main/philosophy.md笔记:radix
- by WorkOS
- Slot 组件 - asChild 时使用 child 组件进行渲染,传递所有 props
- tailwindlabs/headlessuiGitHubtailwindlabs/headlessuitailwindlabs/headlessui · @headlessui-react/src/types.ts · 不支持 Sub Menu #170 · Dialog 会渲染在内置的 Portal 中 - · 新增组件 · Checkbox笔记:HeadlessUI
- 功能性 headless 组件
- popover
- listbox/select
- combobox/autocomplete
- menu/dropdown
- switch/toggle
- disclosure
- dialog/modal
- radio group
- tabs
- transition
- mui/base-uiGitHubmui/base-uimui/base-ui · unstyled UI components for React · npm:@base-ui-components/react · 依赖 npm:@floating-ui/react, npm:@react-aria/overlays笔记:Base UI
- MIT, TS
- npm:@base-ui-components/react
- from the creators of Radix, Floating UI, and Material UI
- mui.com/blog/base-ui-2024-plans
- mui.com/blog/introducing-base-ui
- 2022 MUI, npm:@mui/base
- mui.com/base-ui/getting-started
- nandorojo/dripsyGitHubnandorojo/dripsy
- MIT, TS
- for React Native + Web.
移动端 UI 组件
- tailwind-mobileGitHubtailwind-mobile/tailwind-mobile
- ant-design/ant-design-mobileGitHubant-design/ant-design-mobile
- chat
专用 UI 组件
- Select/Tag/Input
- react-tags/react-tagsGitHubreact-tags/react-tags
- npm
- react-dnd
- yairEO/tagifyGitHubyairEO/tagify
- rc-select笔记react-componenthttps://github.com/react-component · 参考 · https://react-component.github.io/badgeboard/ · react-component/tree · npm:rc-tree章节:rc select打开:/notes/web/react/component
- jedwatson/react-selectGitHubjedwatson/react-select
- @floating-ui/core, @emotion/react, stylis
- 功能完善的 select 组件
- 通过 emotion 控制样式 - 如果没有使用 emotion 建议避免使用
- react-autosuggest
- downshift-js/downshiftGitHubdownshift-js/downshift
- autocomplete, combobox, select dropdown
- useCombobox
- useMultipleSelection
- useSelect
- react-tags/react-tagsGitHubreact-tags/react-tags
- drag and select/region select/area select
- calendar
- fullcalendar/fullcalendarGitHubfullcalendar/fullcalendar
- 功能最为强大的日历组件 - 支持 React 绑定
- wojtekmaj/react-calendarGitHubwojtekmaj/react-calendar
- fullcalendar/fullcalendarGitHubfullcalendar/fullcalendar
- layout/dock
- ticlo/rc-dockGitHubticlo/rc-dock
- React dock layout 组件。
- ticlo/rc-dockGitHubticlo/rc-dock
- flow/diagram
- wbkd/react-flow(★ 37.1k · 2026-06-02 · MIT · TypeScript/Svelte)GitHubxyflow/xyflowReact Flow | Svelte Flow - Powerful open source libraries for building node-based UIs with React (https://reactflow.dev) or Svelte (https://svelteflow.dev). Ready out-of-the-box and infinitely customizable.TypeScript/Svelte/CSS · ★ 37.1k · Forks 2.4k · Last commit 2026-06-02 · MITTypeScriptSvelteCSSJavaScript笔记:react-flow出现位置:Diagram Awesome、BI Awesome、React Awesome
- 流程节点 UI
- projectstorm/react-diagrams(★ 9.4k · 2025-04-03 · MIT · TypeScript/JavaScript)GitHubprojectstorm/react-diagramsa super simple, no-nonsense diagramming library written in react that just worksTypeScript/JavaScript/CSS · ★ 9.4k · Forks 1.2k · Last commit 2025-04-03 · MITTypeScriptJavaScriptCSSHTMLShell
- wbkd/react-flow(★ 37.1k · 2026-06-02 · MIT · TypeScript/Svelte)GitHubxyflow/xyflowReact Flow | Svelte Flow - Powerful open source libraries for building node-based UIs with React (https://reactflow.dev) or Svelte (https://svelteflow.dev). Ready out-of-the-box and infinitely customizable.TypeScript/Svelte/CSS · ★ 37.1k · Forks 2.4k · Last commit 2026-06-02 · MITTypeScriptSvelteCSSJavaScript笔记:react-flow出现位置:Diagram Awesome、BI Awesome、React Awesome
- dnd
- clauderic/dnd-kitGitHubclauderic/dnd-kitclauderic/dnd-kit · MIT, TS, React笔记:dnd-kit
react-dnd/react-dndGitHubreact-dnd/react-dnd- MIT, TS
atlassian/react-beautiful-dndGitHubatlassian/react-beautiful-dnd- 拖放
- bokuweb/react-rndGitHubbokuweb/react-rndbokuweb/react-rnd - Resize & Drag · 实现类似窗口的效果 · react-draggable+bokuweb/re-resizable笔记:react-rnd - Resize & Drag
- 实现类似窗口的效果
- react-draggable+bokuweb/re-resizableGitHubbokuweb/re-resizable
- react-grid-layout/react-draggableGitHubreact-grid-layout/react-draggable
- 非常简单的拖动组件
- 传递 style, className, onMouseDown, onMouseUp, onTouchStart, onTouchEnd 给 child 实现功能
- style: transform: translate(538.5px, 22px);
- className: react-draggable react-draggable-dragging react-draggable-dragged
- child 需要能 ref
- 组件
- Draggable - 包含基础状态,可受控的拖拽组件
- DraggableCore - 无状态功能组件
- react-grid-layout/react-resizableGitHubreact-grid-layout/react-resizable
- 简单的 resize 组件
- 组件
- ResizableBox - 维护 div 状态实现简单 resize -
<div {...props} /> - Resizable - 无状态基础功能组件
- ResizableBox - 维护 div 状态实现简单 resize -
- SortableJS/SortableGitHubSortableJS/Sortable
- react-dropzone/react-dropzoneGitHubreact-dropzone/react-dropzone
- Query Builder
- ukrbublik/react-awesome-query-builderGitHubukrbublik/react-awesome-query-builder
- react-querybuilder/react-querybuilderGitHubreact-querybuilder/react-querybuilderreact-querybuilder/react-querybuilder · 实现 · @reduxjs/toolkit · immer · numeric-quantity · react-redux · https://github.com/react-querybuilder/react-querybuilder/blob/main/packa...笔记:react-querybuilder
- layout
- react-grid-layout/react-grid-layoutGitHubreact-grid-layout/react-grid-layoutreact-grid-layout/react-grid-layout · 子项目 · react-draggable · react-resizable · Responsive · lg,md,sm,xs,xxs · memo children 可以提升性能笔记:react-grid-layout
- 动态网格布局组件
- react-draggable+react-grid-layout/react-resizableGitHubreact-grid-layout/react-resizable
- mathuo/dockviewGitHubmathuo/dockview
- MIT, TS
- Zero dependency Docking Layout Manager. Supports Vanilla TypeScript, React and Vue.
- ui-layouts/uilayoutsGitHubui-layouts/uilayouts
- MIT, TS
- beautifull interactive react/nextjs component based on tailwindcss, framer-motion, gsap
- nomcopter/react-mosaicGitHubnomcopter/react-mosaic
- tiling window manager
- zzarcon/react-cristalGitHubzzarcon/react-cristal
- simple window manager
- dev.to/jbdemonte/create-a-window-manager-with-react-3mak
- Create a window manager with React
- react-div-100vhnpm Packagereact-div-100vhNPM
- 移动端屏高问题
- caplin/FlexLayoutGitHubcaplin/FlexLayout
- Docking Layout Manager
- golden-layout/golden-layoutGitHubgolden-layout/golden-layout
- multi window layout manager
- thebuilder/react-intersection-observerGitHubthebuilder/react-intersection-observer
- 检测元素是否在窗口可见
- Intersection Observer API
- Aljullu/react-lazy-load-image-componentGitHubAljullu/react-lazy-load-image-component
- MIT, JS
- 基于 IntersectionObserver
- maslianok/react-resize-detectorGitHubmaslianok/react-resize-detector
const { width, height, ref } = useResizeDetector()- 基于 ResizeObservers
- mattrothenberg/react-overflow-listGitHubmattrothenberg/react-overflow-list
- Overflow List 动态显示隐藏
- BetterTyped/react-zoom-pan-pinchGitHubBetterTyped/react-zoom-pan-pinch
- 缩放、平移、捏合
- mgorabbani/react-image-pan-zoom-rotateGitHubmgorabbani/react-image-pan-zoom-rotate
- 图片缩放、旋转
- react-grid-layout/react-grid-layoutGitHubreact-grid-layout/react-grid-layoutreact-grid-layout/react-grid-layout · 子项目 · react-draggable · react-resizable · Responsive · lg,md,sm,xs,xxs · memo children 可以提升性能笔记:react-grid-layout
- scrollbar/container/affix
- react-scroll
- 实现滚动到自定义位置
- okonet/react-scroll-syncGitHubokonet/react-scroll-sync
- 多个 scroll 同步
- KingSora/OverlayScrollbarsGitHubKingSora/OverlayScrollbars
- react-scroll
- Dashboard/Panel/Splitter/Layout
- devbookhq/splitterGitHubdevbookhq/splitter
- 切分面板
- tremorlabs/tremorGitHubtremorlabs/tremortremorlabs/tremor · React library to build dashboards fast · 实现 · tailwindcss · recharts · floating-ui · date-fns · react-day-picker笔记:tremor
- Apache-2.0
- build dashboards
- 构建 Dashboard
- devbookhq/splitterGitHubdevbookhq/splitter
- Toast/Interactive/Notification
- react-hot-toastGitHubtimolins/react-hot-toast
- 12kB/4.7kB
- goober 2.5kB/1.3kB
- css-in-js alternative
- goober 2.5kB/1.3kB
- 12kB/4.7kB
- iamhosseindhv/notistackGitHubiamhosseindhv/notistack
- for Material UI
- react-toastifyGitHubfkhadra/react-toastify
- 需要 import css
- react-hot-toastGitHubtimolins/react-hot-toast
- Tree
- dgreene1/react-accessible-treeviewGitHubdgreene1/react-accessible-treeview
- rc-tree
- @atlaskit/treenpm Package@atlaskit/treeNPM
- brimdata/react-arboristGitHubbrimdata/react-arborist
- npm
- Geist UI File Tree
- radix-ui/primitives#1456GitHub Issueradix-ui/primitives#1456
- carousel/image zoom/view
- malaman/react-image-zoomGitHubmalaman/react-image-zoom
- 放大一块区域
- rpearce/react-medium-image-zoomGitHubrpearce/react-medium-image-zoom
- 类似 medium 的点击图片放大
- xiaolin/react-image-galleryGitHubxiaolin/react-image-gallery
- 图片浏览
- guonanci/react-images-viewerGitHubguonanci/react-images-viewer
- 55kB
- nolimits4web/swiperGitHubnolimits4web/swiper
- swiperjs.com/reactLinkswiperjs.com/react专门功能选择专业组件 - Headless 配合 UI 组件达到更为理想的结果 · react-table · react-hook-form · floatingui · 选择样式与组件独立的 UI 库 · tailwindcss+daisyui笔记:React Awesome
- express-labs/pure-react-carouselGitHubexpress-labs/pure-react-carousel
- leandrowd/react-responsive-carouselGitHubleandrowd/react-responsive-carousel
- ~30kB
- react-easy-swipe +5kB
- akiran/react-slickGitHubakiran/react-slick
- React Carousels
- malaman/react-image-zoomGitHubmalaman/react-image-zoom
- image editor/crop/rotate/scale/processing
- DominicTobias/react-image-cropGitHubDominicTobias/react-image-crop
- ISC, TS
- 图片裁剪
- ValentinH/react-easy-cropGitHubValentinH/react-easy-crop
- MIT, TS
- 图片裁剪
- scaleflex/filerobot-image-editorGitHubscaleflex/filerobot-image-editor
- MIT, JS
- 基于 react-konva
- 功能非常高级
- swimmingkiim/react-image-editorGitHubswimmingkiim/react-image-editor
- React + Konva / image editor / like Figma or Canva
- nhn/tui.image-editorGitHubnhn/tui.image-editor
- ⚠️ 不维护
- 注意会收集统计 usageStatistics
- advanced-cropper/react-advanced-cropperGitHubadvanced-cropper/react-advanced-cropper
- evanw/glfx.jsGitHubevanw/glfx.js
- ⚠️ 不维护
- Demo evanw.github.io/glfx.js/demo
- davidsonfellipe/lena.jsGitHubdavidsonfellipe/lena.js
- filter
- DominicTobias/react-image-cropGitHubDominicTobias/react-image-crop
- timeline
- namespace-ee/react-calendar-timelineGitHubnamespace-ee/react-calendar-timeline
- React9k/react-timeline-9000GitHubReact9k/react-timeline-9000
- prabhuignoto/react-chronoGitHubprabhuignoto/react-chrono
- stephane-monnot/react-vertical-timelineGitHubstephane-monnot/react-vertical-timeline
- 营销
- JSainsburyPLC/react-timelinesGitHubJSainsburyPLC/react-timelines
- gannt
- frappe/ganttGitHubfrappe/gantt
- MIT
- dhtmlxGantt
- frappe/ganttGitHubfrappe/gantt
- Block Editor/Page Builder
- blocks/blocksGitHubblocks/blocks
- BuilderIO/builder(★ 8.7k · 2026-06-15 · MIT · TypeScript/JavaScript)GitHubBuilderIO/builderVisual Development for React, Vue, Svelte, Qwik, and moreTypeScript/JavaScript/Vue · ★ 8.7k · Forks 1.1k · Last commit 2026-06-15 · MITTypeScriptJavaScriptVueSvelteCSSKotlinHTMLShellEarthlyMakefile笔记:Design Builder出现位置:CMS 概览、Low Code Awesome、React Awesome
- LuisMPS/build-uiGitHubLuisMPS/build-ui
- react-page/react-pageGitHubreact-page/react-pagereact-page/react-page · v4 耦合了 mui v4 · v5 耦合了 mui v5笔记:react-page
- 动画
- modal
- eBay/nice-modal-reactGitHubeBay/nice-modal-react
- react-responsive-modal
- link preview
- autocomplete
- input
- react-textarea-autosize
- table/Spreadsheet/Excel/Data Grid
- 两种 sheet 数据格式
-
object[]- 贴近 Table/数据表/DataGrid
- 适用于有逻辑处理
- 支持 schema 逻辑
- 支持 业务
- Header 为 key/title
-
any[][]- AoA
- 适用于简单数据展示、数据导入导出 - 贴近 Excel/Sheet
- 适用于通用数据
- 适用于数据中间处理
- Header 为 Index(A-Z), 第一行数据可能为 Header
-
- react-data-gridGitHubadazzle/react-data-grid
- MIT, TS
- 42kB, 14kB
- 适用于 object[]
- 自身功能非常简洁轻量
- 🌟 首选
- formula 功能可选
- react-spreadsheetGitHubiddan/react-spreadsheet
- MIT, TS
- 支持 formula
- 适用于二维数组 - AoA
- fast-formula-parserm, jstat, es-abstract
- fast-formula-parser -> chevrotain, jstat - 体积比较大
hot-formula-parser->@handsontable/formulajsLicense 原因
react-spreadsheet-gridGitHubdenisraslov/react-spreadsheet-grid- MIT, JS
- 66kB, 17kB
- @silevis/reactgridGitHubsilevis/reactgrid
- MIT, TS
- 250kB, 68kB
react-datasheetGitHubnadbm/react-datasheet- ⚠️ 不再维护
- 两种 sheet 数据格式
- i18n - Unicode Language and Locale Identifiers
- i18next/react-i18nextGitHubi18next/react-i18next
- i18next/next-i18nextGitHubi18next/next-i18next
- Next.js 集成
- react-intl
- lingui/js-linguiGitHublingui/js-linguilingui/js-lingui · 支持 macro · 支持 语义 · 支持 自动提取 · 支持 PO 格式 · https://lingui.dev/ · NextJS · CatalogFormat - https://lingui.dev/ref/catalog-formats笔记:lingui
- rosetta
- next-intl
- formatjsGitHubformatjs/formatjs
- hooks/utils
- adobe/react-spectrumGitHubadobe/react-spectrumadobe/react-spectrum · React Spectrum - 开箱即用组件 · Adobe Design System · React Aria - 行为 Hooks · unstyled React components and hooks笔记:react-spectrum
- log viewer
- for fun
- GEO/Map
- visgl/react-map-glGitHubvisgl/react-map-gl
- react for mapbox-gl, maplibre-gl
- maplibre/maplibre-gl-jsGitHubmaplibre/maplibre-gl-js
- BSD-3, Typescript
- mapbox-gl-js v1 fork
- mapbox/mapbox-gl-jsGitHubmapbox/mapbox-gl-js
- 2020-12 修改为非开源协议
- v2 需要 token
- math
- Turfjs/turfGitHubTurfjs/turf
- MIT, TS
- geospatial engine
- Turfjs/turfGitHubTurfjs/turf
- tiles
- openmaptiles/openmaptilesGitHubopenmaptiles/openmaptiles
- BSD-3, CC-BY-4.0
- by MapTiler
- maplibre/demotilesGitHubmaplibre/demotiles
- MapTiler
- mapbox/awesome-vector-tilesGitHubmapbox/awesome-vector-tiles
- openmaptiles/openmaptilesGitHubopenmaptiles/openmaptiles
- visgl/react-map-glGitHubvisgl/react-map-gl
-
gabrielbull/react-desktopGitHubgabrielbull/react-desktop
- 模仿 macOS High Sierra 和 Windows 10 的组件
-
reakit/reakitGitHubreakit/reakit - 专注于 accessible 的组件
- ARIA
- 在国内一般不关心 accessible
-
table-library/react-table-libraryGitHubtable-library/react-table-library
- 带 UI
-
react-icons/react-iconsGitHubreact-icons/react-icons
- react-icons.github.io 包含了大量可用 Icon
- 来自 tailwincss 的 heroicons 崇尚直接 copy svg 使用
- 简单方便
-
@tabler/icons
- tabler/tabler-iconsGitHubtabler/tabler-icons
- 4500, MIT
- tabler/tabler-iconsGitHubtabler/tabler-icons
-
popperjs/react-popperGitHubpopperjs/react-popper
- 显示弹出气泡
-
signavio/react-mentionsGitHubsignavio/react-mentions
- 支持
@username
- 支持
-
twobin/react-lazyloadGitHubtwobin/react-lazyload
- 懒加载 UI 组件
-
asabaylus/react-command-paletteGitHubasabaylus/react-command-palette
-
kanban
-
notion
-
- reavizGitHubreaviz/reaviz
- Data visualization
- reaflowGitHubreaviz/reaflow
- Apache-2.0, TS
- flow
- layout ELKJS
- reagraphGitHubreaviz/reagraph
- Apache-2.0, TS
- WebGL, network graph
- reavizGitHubreaviz/reaviz
-
- react-calendar, react-clock, react-pdf
编辑器
- Markdown
- margox/braft-editorGitHubmargox/braft-editor
- margox/braft-extensionsGitHubmargox/braft-extensions - 扩展包
路由
- ReactTraining/react-routerGitHubReactTraining/react-router
- React 16.8 hook 之前已经存在
- v6 基于 hook 重写,替代 reach-router
- v5 添加 hook 支持,Swith 和 Route 组件可选
- 支持 MemoryRouter,支持 React Native
- 核心组件
- Router - 提供 history 管理和上下文 - history 实现在 historyGitHubReactTraining/history 包
- BrowserRouter 基于当前 URL
- HashRouter 基于 URL 但使用
#/url模式 - StaticRouter - 静态地址,用于 SSR
- NativeRouter - 支持 react-native
- 核心状态 location - 从 history 监听变化
- 提供 history 上下文 - useHistory
- 提供 Route 上下文 - useLocation、useParams
- Route - 匹配后渲染
- Switch - 只会渲染一个匹配的 Route
- Link, NavLink, Redirect - 导航,修改 url
- Prompt - 用于阻塞 history 发生变化
- Router - 提供 history 管理和上下文 - history 实现在 historyGitHubReactTraining/history 包
- useRoutes/react-router-config
- 提供了统一配置 route 的逻辑 - 很简单,可以作为参考
- matchRoutes - 匹配嵌套路由 - 返回匹配的 tree 路由数组
- renderRoutes - 渲染嵌套路由 - 递归 Switch, 遍历 Route
- @tanstack/react-router笔记@tanstack/react-routerFile Based router 优先 · 对代码构建不友好 · 全局强类型 - 构建路由很吃力 · tanstack/router · @tanstack/history · @tanstack/react-store -> use-sync-external-store, @tanstack/store打开:/notes/web/react/tanstack-router
- 参考/基于 React Router v6
- 内置 async import - 异步加载 element
- 内置 async load - 异步加载 data/状态 - useMatch 返回
- query 参数匹配、状态管理
- declarative API
- molefrog/wouterGitHubmolefrog/wouter
- 轻量实现 - 很实用 - 可以直接拷贝到项目修改使用
- 可以不需要 context
- 外部提供 location
- minimalist-friendly ~2.1KB routing for React and Preact
reach/routerGitHubreach/router- React Router v6 后 reach router 不再需要
- React Router 作者在 hook 出现后进行的尝试
- 目前 hook 能力已经合并回 react router v5
- 不使用 Swith 和 Route 组件,而是直接在组件上添加 path 进行匹配
- 参考
- The Future of React Router and @reach/router - 2019
- @reach/router 是在 hook 出现后的新尝试
- 现在所有 hook 功能也合并到了 react-router v5
- The Future of React Router and @reach/router - 2019
功能组件
大多为 Headless/unstyled
- TanStack
- react-table笔记react-tabletannerlinsley/react-table · 基于 Hook 功能强大的 Table 组件 · v8+ 框架无关,不再使用插件模式 · 针对同一个状态,不要 initialState 和 state 都设置 · 不支持 sticky 行列打开:/notes/web/react/table
- 实现各种 table 功能
- react-query笔记React QueryTanStack/query · 默认 · 开启 refetchOnMount, refetchOnWindowFocus, refetchOnReconnect · cacheTime 5 分钟 - 不再使用的的数据保留 5 分钟 · retry=3, retryDelay exponential打开:/notes/web/react/query
- 异步查询缓存更新
- rangerGitHubTanStack/ranger
- range and multi-range sliders
- location
- virtual
- react-charts
- react-table笔记react-tabletannerlinsley/react-table · 基于 Hook 功能强大的 Table 组件 · v8+ 框架无关,不再使用插件模式 · 针对同一个状态,不要 initialState 和 state 都设置 · 不支持 sticky 行列打开:/notes/web/react/table
- vercel/swrGitHubvercel/swr
- 类似于 react-query 但更适合于前端定时刷新场景
- 支持 SSR
- gregberge/loadable-componentsGitHubgregberge/loadable-components
- 异步加载组件
its-danny/use-liliusGitHubits-danny/use-lilius- date-fns
- DateInput
虚拟滚动
- petyosi/react-virtuosoGitHubpetyosi/react-virtuoso
- 支持 list, table
- TanStack/virtualGitHubTanStack/virtual
- 基于 Hook
- 推荐 - 因为 react-virtualized 不活跃
- inokawa/virtuaGitHubinokawa/virtua
- MIT, TS
- inokawa/virtuaGitHubinokawa/virtua
- bvaughn/react-window(★ 17.2k · 2026-04-12 · MIT · TypeScript/JavaScript)GitHubbvaughn/react-windowReact components for efficiently rendering large lists and tabular dataTypeScript/JavaScript/HTML · ★ 17.2k · Forks 816 · Last commit 2026-04-12 · MITTypeScriptJavaScriptHTMLCSS笔记:react-window出现位置:React Awesome、React Awesome、React lib FAQ - 虚拟滚动
- react-window vs react-virtualized(★ 17.2k · 2026-04-12 · MIT · TypeScript/JavaScript)GitHubbvaughn/react-windowReact components for efficiently rendering large lists and tabular dataTypeScript/JavaScript/HTML · ★ 17.2k · Forks 816 · Last commit 2026-04-12 · MITTypeScriptJavaScriptHTMLCSS笔记:react-window出现位置:React Awesome、React Awesome、React lib FAQ
- Lodin/react-vtreeGitHubLodin/react-vtree
- 基于 react-window 实现的 tree 渲染
- bvaughn/react-virtualizedGitHubbvaughn/react-virtualized
- 功能比 react-window 多但包更大
数据校验
- 一般都不是 react 相关
- 常用 yup, joi, props-type, json-schema
- json-schema
- 序列化好
- 工具支持
- 功能少 / 弱
- yup
- js 书写方便
- 但不方便序列化
- props-type
- React 组件属性校验
Form
- react-hook-form/react-hook-formGitHubreact-hook-form/react-hook-formreact-hook-form/react-hook-form 是什么? · 基于 Hook 的轻量级表单组件 - 5KB · 接口 · 默认通过 ref 的方式进行注册 · 获取 name, type, value · 在设置 ref 时候就会初始化进行注册笔记:React Hook Form
- 25kB/9kB
- 基于 hook 的 form 语意实现
- 轻量简单 - 没有复杂概念,直接 useForm 即可使用
- 状态独立 - 性能好
- 侵入性非常低
- 不强制要求 Form 上下文
- 可以通过 ref 注册
- 注意
- 默认 mode 为 submit - 在提交的时候才会校验
- 基于 ref 注册可能会被 deregister
- jaredpalmer/formikGitHubjaredpalmer/formikjaredpalmer/formik · React 的 form 解决方案 · 在 hook 没出来之前比较流行 · 目前推荐使用 react-hook-form笔记:formik
- 基于组件构建表单
- 默认 Formik 全量渲染
- 组件 Field 封装
- 编码量较多
- formiumGitHub Fileformium/formium/examples
- 商业的 headless form builder
- final-form/react-final-formGitHubfinal-form/react-final-form
- 基于 Final Form 的 React 封装
- 组件逻辑上类似 formik - 但要简单一点
- 核心 final form 也支持 vue、web component 等
- formnerd
- 商业的 form 提交服务
- data-driven-forms/form-builderGitHubdata-driven-forms/form-builder
- 开源的 form builder
- 尚不成熟
- vazco/uniformsGitHubvazco/uniforms基于 Schema 生成 Form · vazco/uniforms · MIT, TS, React · UI: SemanticUI, AndT, MUI, Bootstrap · Schema: JSON Schema, Simple Schema, Simple Schema 2, GraphQL笔记:uniforms
- building forms from any schema
- Schemas
- JSON Schema
- GraphQL
- SimpleSchema
- Zod
- alibaba/formilyGitHubalibaba/formilyalibaba/formily · 支持 React 和 Vue · 扩展 jsonschema · 增加 x- 属性 · x-decorator · x-decorator-props · x-component · x-component-props笔记:formily
- alibaba/designableGitHubalibaba/designablealibaba/designable · https://designable-antd.formilyjs.org/笔记:designable
- designable-antd
- 商业
unform/unformGitHubunform/unform
样式
- class 合并
- gregberge/twcGitHubgregberge/twcgregberge/twc · MIT, TS · reusable React + Tailwind CSS components · cva笔记:TWC
- clsx
- classnames
- tailwind-merge
- cvaGitHubjoe-bell/cvajoe-bell/cva · Apache-2.0, TS · Class Variance Authority笔记:CVA
- tw-classedGitHubsannajammeh/tw-classed
- stitchesjs/stitchesGitHubstitchesjs/stitches
- 写 Object 而不是写 string 的 css
- 类似 styled-components 和 emotion 的中间形态
- 相对性能更好,打包更小
- @stitches/react
- 支持 variant - 不只是单纯样式
- styled-componentsGitHubstyled-components/styled-components
- 包装现有组件,添加 className
- emotion-js/emotionGitHubemotion-js/emotion
- 生成 className
- jsjoeio/styled-components-vs-emotionGitHubjsjoeio/styled-components-vs-emotion
- callstack/linariaGitHubcallstack/linaria
- 基于 babel 插件
- css-modules/css-modulesGitHubcss-modules/css-modules
- vercel/styled-jsxGitHubvercel/styled-jsxvercel/styled-jsx · 默认不支持传递样式到 children #573 · 如果 a 是在一个组件里,无法影响到 · 使用 · 或者传递 css.resolve 返回的 className 到子组件 · 启用后不会使用 SWC 编译 - 推荐使用 css module笔记:styled-jsx
- styletron/styletronGitHubstyletron/styletron
- robinweser/felaGitHubrobinweser/fela State-Driven Styling
- cristianbote/gooberGitHubcristianbote/goober
- linkedin/css-blocksGitHublinkedin/css-blocks
- 没有维护了
Hooks
- streamich/react-useGitHubstreamich/react-use
- 74kB/20kB
- alibaba/hooksGitHubalibaba/hooks参考 · react-use · RobertWHurst/KeyboardJS · binding keyboard combos · beautiful-react-hooks · ahooks · useLayoutEffect · 在 DOM 操作后立即执行笔记:React Hooks
- riktar/uncinoGitHubriktar/uncino
状态管理
In React State vs Outside State
- Inside - 例如 useState, jotai, recoil
- 面向 React - 组件、上下文、Tree
- Outside - 例如 zustand, voltio/mobx
- 面向 数据/状态 - 函数、全局、跨组件
- 优势
- 框架无关
- 可在任意地方调用
- 劣势
- 可能有全局副作用
- SSR 不一定好处理 - #182GitHub Issuepmndrs/zustand#182
Proxy vs Selector
- 基于
代理订阅 - 可以基于 路径 判断变化- 优势
- 使用更简单
- 不需要写 selector
- 不需要关心 compare
- 劣势
- 传递时要小心 - 比如读取对象,返回的是代理对象
- 尽量确保只有 基础数据类型 时使用
- 代理特殊对象要小心
- 例如: Map, Set, ReactElement, HTMLElement 之类的
- 需要考虑哪些能被代理,哪些不能
- 传递时要小心 - 比如读取对象,返回的是代理对象
- 区分 读 代理 和 写 代理
- selector 模式也可以用 写 代理
- 基于
代理订阅主要指 读 代理 - 写 代理 修改操作可生成 operation - 可用于同步
- 优势
- 基于
selector订阅 - 基于 值 判断变化- 优势
- 都是 原始 值 或 frozen 值
- 传递安全 - 不会有预期外结果,符合正常思路
- 劣势
- selector 写起来繁琐
- selector 可能还需要 useCallback 来 memo
- 需要考虑 compare 逻辑
- 每次添加用到数据 要嘛加 selector ,要嘛修改 现有 selector
- react-tracked 把基于 selector 变成基于 proxy
- 可以修改时使用 proxy 减少变化对比
- 例如 immer
- 优势
- 几种状态管理
- atom, in-react - jotai, recoil
- atom, outside-react - voltio
- state machine, in-react - redux
- state machine, outside-react - zustand
- pmndrs/valtio#141GitHub Issuepmndrs/valtio#141
- pmndrs - 状态相关主要开发者也是 dai-shi
- zustand笔记zustandpmndrs/zustand 是什么? · out of tree 状态管理 · 可外部查询、修改、订阅 · 可多个渲染树使用 · 支持 react concurrency · Context 可选 · 默认全局 store 单例 · 可在其它框架使用 - 不依赖 react打开:/notes/web/react/zustand
- 3kB/1.1kB - use-sync-external-store
- Redux like - 支持 Redux devtools
- 状态在 React 之外 - 可外部操作
- valtio笔记valtiopmndrs/valtio · 7kB/2.5kB - use-sync-external-store+proxy-compare · 基于 proxy 的状态管理 · 类似 mobx, vue · 默认状态变化是异步触发监听 · 可以使用 Class 作为 被代理对象打开:/notes/web/react/valtio
- 7kB/2.5kB - use-sync-external-store+proxy-compare
- 基于 Proxy 订阅
- jotai笔记Jotaipmndrs/jotai 是什么? · 7.1kB/2.7kB · 大状态拆分小(原子/atom)状态 - 原子状态更利于复用和减小变化影响范围 · 核心接口 atom, Provider, useAtom, Store · jotai/utils 包含其他工具 atom打开:/notes/web/react/jotai
- 8.5kB/3.3kB
- Recoil like
- zustand笔记zustandpmndrs/zustand 是什么? · out of tree 状态管理 · 可外部查询、修改、订阅 · 可多个渲染树使用 · 支持 react concurrency · Context 可选 · 默认全局 store 单例 · 可在其它框架使用 - 不依赖 react打开:/notes/web/react/zustand
- dai-shi
- dai-shi/react-trackedGitHubdai-shi/react-trackeddai-shi/react-tracked · 通过 proxy 跟踪变化 - 类似 valtio · 可以用于 useState, zustand useStore, redux useSelector, 主要提供一个匹配的方法即可 · 使用 proxy-compare笔记:react-tracked
- 5kB/2kB - use-context-selector+proxy-compare
- 封装 useState, useStore
- 使用 proxy 订阅 - 操作上更方便
- 提供 memo 替代 React.memo - 因为要 比较/订阅 代理 对象
- dai-shi/use-context-selectorGitHubdai-shi/use-context-selector支持 context 选取部分 - 监听部分变化 · 可以传递更新逻辑 - 支持 suspense · 支持 concurrent 模式 · 提供 BridgeProvider - 多个 render 上下文 · 无 Consumer · 参考笔记:use-context-selector
- 2kB/1kB
- useContext 支持 selector - 减少 rerender
- dai-shi/react-hooks-global-stateGitHubdai-shi/react-hooks-global-state
- global state for React with Hooks API without Context API
- dai-shi/react-hooks-workerGitHubdai-shi/react-hooks-worker
- custom hooks for web workers
- dai-shi/react-trackedGitHubdai-shi/react-trackeddai-shi/react-tracked · 通过 proxy 跟踪变化 - 类似 valtio · 可以用于 useState, zustand useStore, redux useSelector, 主要提供一个匹配的方法即可 · 使用 proxy-compare笔记:react-tracked
- effectorGitHubeffector/effector
- Application stores should be as light as possible
- Application stores should be freely combined
- Autonomy from controversial concepts
- Predictability and clarity of API
- The application is built from simple elements
- mobxjs/mobxGitHubmobxjs/mobxmobxjs/mobx · MIT, JS, TS · packages · mobx-react-lite · mobx-state-tree - MST · state container system笔记:mobx
- mobx 58kB/16kB
- mobx-react-lite 6kB/2kB
- 不支持 concurrent - mobx#2526GitHub Issuemobxjs/mobx#2526
- 最近开发不活跃 - 功能已经足够完善
- use-sync-external-store
- use-subscriptionGitHub Filefacebook/react/packages/use-subscription
- 更好的支持 concurrent 模式
- rematch/rematchGitHubrematch/rematch
- teafuljs/teafulGitHubteafuljs/teaful
- 基于 proxy 进行 select
- facebookexperimental/RecoilGitHubfacebookexperimental/Recoil
- paol-imi/react-reparentingGitHubpaol-imi/react-reparenting
- 实现切换 parent 不丢失状态
- jamiebuilds/unstated-nextGitHubjamiebuilds/unstated-next
- 简单封装 context+state - 共享业务状态逻辑,在状态基础上添加操作
- 反转 useHook
- FormidableLabs/react-fast-compareGitHubFormidableLabs/react-fast-compare
- 用于在实现状态管理时快速比较是否发生变化
- 减少变化,避免刷新
- sandiiarov/use-deep-compareGitHubsandiiarov/use-deep-compare
- useDeepCompare{Callback,Effect,Memo,Memoize}
- 基于 dequal
- immerjs/use-immerGitHubimmerjs/use-immer
- useImmer - 基于 immer 的状态更新
- 当状态较多时能很大程度简化操作 - 从
setState(s=>({...s,loading:true}))变为update(s=>{s.loading=true})
- tinyplex/tinybaseGitHubtinyplex/tinybasetinyplex/tinybase · MIT, TS, JS笔记:TinyBase
- Table, Row, Cell
- 订阅
- reactivex/rxjsGitHubreactivex/rxjs
- rxjs 能非常简单的实现基于订阅的状态管理
- reduxjs/redux-toolkitGitHubreduxjs/redux-toolkit
- redux-toolkit 简化了使用 redux 的难度
- 定义了使用规范
- storeon/storeonGitHubstoreon/storeon - 185 bytes event-based Redux-like state manager
- 事件驱动 - 内建
@init,@dispatch,@changed- 初始化,分发,变化检测 const { dispatch, users, projects } = useStoreon('users', 'projects')- 本质上是监听 @changed 来触发状态变化进行渲染
- storeon - index.jsGitHub Filestoreon/storeon/index.js
- React hook - react/index.jsGitHub Filestoreon/storeon/react/index.js
- 结构逻辑比 redux 清晰的多
- 事件驱动 - 内建
- reactivex/rxjsGitHubreactivex/rxjs
- 常见问题
- zombie child problem
- react concurrencyGitHub Filebvaughn/rfcs/text/0000-use-mutable-source.md
- context lossGitHub Issuefacebook/react#13332
- 跨组件状态变化
- 参考
图表
- react-d3-tree
- recharts/rechartsGitHubrecharts/rechartsrecharts/recharts · MIT, TS, D3笔记:recharts
- 基于 d3 封装
- 功能比较原始 - 自定义能力较强 - 自定义 svg - 随意画图
- 类似于通过 react 渲染 svg - 但需要熟悉 svg 语法
- children 可以直接写 svg
- airbnb/visxGitHubairbnb/visx
- React 渲染 SVG
- 预设了较多样式和图表元素
- FormidableLabs/victoryGitHubFormidableLabs/victory
- plouc/nivoGitHubplouc/nivo
- uber/react-visGitHububer/react-vis
- 不太活跃
- plotly/react-plotly.jsGitHubplotly/react-plotly.js
- React 封装 plotly.js
- plotly.jsGitHubplotly/plotly.js - 所有图表都可以通过序列化的 JSON 表示
- 支持非常多的预设图表
- 显示支持一定程度自定义
- alibaba/BizChartsGitHubalibaba/BizCharts
- 阿里 BizCharts - 基于 G2 封装 React
- 封装程度高 - 支持较多类型图表
- G2Plot
- 基于 G2 封装的默认可用图表
- @ant-design/charts
- 基于 G2Plot 封装 React
- sbstjn/timesheet.jsGitHubsbstjn/timesheet.js
- projectstorm/react-diagrams(★ 9.4k · 2025-04-03 · MIT · TypeScript/JavaScript)GitHubprojectstorm/react-diagramsa super simple, no-nonsense diagramming library written in react that just worksTypeScript/JavaScript/CSS · ★ 9.4k · Forks 1.2k · Last commit 2025-04-03 · MITTypeScriptJavaScriptCSSHTMLShell
- 节点流程图
- antvis/G2GitHubantvis/G2
- chartjs/Chart.jsGitHubchartjs/Chart.js
- 基于 canvas
开发工具/生态
- storybookjs/storybookGitHubstorybookjs/storybook
将 UI 开发从主应用分离
- 不清楚如何选择,那就选择 Storybook
- 非常重
- 可能和项目内其他组件冲突 - React 17, PostCSS
- 支持多框架和平台 - React, Vue, WebComponent, React Native, Ember, Svelte, Preact, Marionette.js, Mithril, Marko, Riot, Rax, Flutter
- styleguidist/react-styleguidistGitHubstyleguidist/react-styleguidist
- 类似于 storybook,提供独立环境
- 实时编辑器
- doczjs/doczGitHubdoczjs/docz
- 组件 Doc 和 开发
- 基于 MDX
- 开发不活跃
- react-cosmos/react-cosmosGitHubreact-cosmos/react-cosmos Sandbox for developing and testing UI components in isolation
- Preact
- aidenybai/million笔记millionaidenybai/million · MIT · <4kb · The Virtual DOM Replacement for React · https://million.dev/blog/virtual-dom · Diff the data, not the DOM.打开:/notes/web/react/million
- millionco/react-doctorGitHubmillionco/react-doctor
- 用于发现 React 代码质量问题的工具,尤其适合 Agent 生成代码后的检查。
工具
- alexreardon/memoize-oneGitHubalexreardon/memoize-one
- 在组件外 memoize
- epoberezkin/fast-deep-equalGitHubepoberezkin/fast-deep-equal
- FormidableLabs/react-fast-compareGitHubFormidableLabs/react-fast-compare
- fork 自 fast-deep-equal
- 添加 react 类型处理,避免循环依赖
- welldone-software/why-did-you-renderGitHubwelldone-software/why-did-you-render
动画
- pmndrs/react-springGitHubpmndrs/react-spring
- framer/motionGitHubframer/motion
- nandorojo/motiGitHubnandorojo/moti
- React Native (+ Web)
- by Reanimated 2
- React-Spring vs Framer Motion: Comparing Examples in Two Animation Libraries
- 实现动画底层逻辑不同
- framer-motion - duration-and-location
- 使用上会更舒徐
- react-spring - spring-physics
- 看起来会更真实
- framer-motion - duration-and-location
- 实现动画底层逻辑不同
- reactjs/react-transition-groupGitHubreactjs/react-transition-group
- 控制 css 类实现动画
- react-motionGitHubchenglou/react-motion
- 不再维护 - 不推荐使用
- sghall/react-moveGitHubsghall/react-move
功能
- diegomura/react-pdfGitHubdiegomura/react-pdfdiegomura/react-pdf · Create PDF files using React · yogo+pdfkit · react-reconciler, scheduler · 参考 · https://react-pdf-repl.vercel.app/笔记:ReactPDF
- 使用 React 创建 PDF
- 支持 Node 和 Web
- SheetJS/sheetjsGitHubSheetJS/sheetjsSheetJS/sheetjs · Apache-2.0, JS · git -> sheetjs · 不在 npm https://github.com/SheetJS/sheetjs/issues/2667 · 开发也不在 Github 上了笔记:SheetJS
- 不支持样式、图表、图片
- 性能好
- Pro sheetjs.com/pro
- exceljs/exceljsGitHubexceljs/exceljsexceljs/exceljs · MIT, JS · Excel Workbook Manager · 目前有维护问题 exceljs/exceljs#2764笔记:exceljs
参考
Rendering/Native
- schedulerGitHub Filefacebook/react/packages/scheduler
- DOM
- remarkablemark/html-react-parserGitHubremarkablemark/html-react-parser
- ~28kB - gzip 10kB
- HTML to React
- 避免使用 WebComponent 方式
- 依赖
- 6k fb55/domhandlerGitHubfb55/domhandler
- 10k react-propertyGitHub Fileremarkablemark/react-dom-core/packages/react-property
- style-to-js
- style-to-object
- html-dom-parser
- inline-style-parser
- domelementtype
- 相关
- dompurify
- html-to-reactGitHubaknuds1/html-to-react
- remarkablemark/html-react-parserGitHubremarkablemark/html-react-parser
- 3D/WebGL
- pmndrs/react-three-fiberGitHubpmndrs/react-three-fiber
- Three.js 渲染引擎
- gre/gl-reactGitHubgre/gl-react
- WebGL 光栅
- pmndrs/react-three-fiberGitHubpmndrs/react-three-fiber
- 2D/Canvas
- konvajs/react-konvaGitHubkonvajs/react-konva
- 基于 konvajs/konvaGitHubkonvajs/konvakonvajs/konva · MIT, JS+TS · Canvas 2D · 级联关系 Stage - Layer - Group - Shape · 参考 · All Konva performance tips list · Stage - 根容器/绘图区域笔记:konva
Flipboard/react-canvasGitHubFlipboard/react-canvas- 停止
- konvajs/react-konvaGitHubkonvajs/react-konva
- Native
- 小程序/跨端
- taro笔记TaroCSS · 不要使用 ID 选择器 (#od)、属性选择器、标签选择器 · 组件和引用组件的页面不能使用 id 选择器(#a)、属性选择器([a])和标签名选择器,请改用 class 选择器。 · 组件和引用组件的页面中使用后代选择器(.a .b)在一些极端情况下会有非预期的表现,如遇,请避免使用。打开:/notes/web/framework/taro
- by 京东
- remax笔记remaxremaxjs/remax · 使用真正的 React 构建小程序 · 真正 - 基于 react-reconciler · VNode · 支持 less, css module · 参考 · remaxjs/awesome-remax打开:/notes/web/framework/remax
- by 蚂蚁金服
- 基于 react-reconciler
- nanachi
- by 去哪儿
- rax
- by 淘宝
- taro笔记TaroCSS · 不要使用 ID 选择器 (#od)、属性选择器、标签选择器 · 组件和引用组件的页面不能使用 id 选择器(#a)、属性选择器([a])和标签名选择器,请改用 class 选择器。 · 组件和引用组件的页面中使用后代选择器(.a .b)在一些极端情况下会有非预期的表现,如遇,请避免使用。打开:/notes/web/framework/taro
- Terminal
- Yomguithereal/react-blessedGitHubYomguithereal/react-blessed
- blessed
- vadimdemedes/inkGitHubvadimdemedes/ink
- 终端 渲染引擎
- vadimdemedes/ink-uiGitHubvadimdemedes/ink-ui
- vadimdemedes/pastelGitHubvadimdemedes/pastel
- Next.js-like framework for CLIs made with Ink
- Yomguithereal/react-blessedGitHubYomguithereal/react-blessed
- Documents
- diegomura/react-pdfGitHubdiegomura/react-pdfdiegomura/react-pdf · Create PDF files using React · yogo+pdfkit · react-reconciler, scheduler · 参考 · https://react-pdf-repl.vercel.app/笔记:ReactPDF
- 使用 react 创建 PDF
- 渲染 PDF
- wojtekmaj/react-pdfGitHubwojtekmaj/react-pdf
- 显示 PDF - 使用 pdfjs 并非 React 渲染
- diegomura/react-pdfGitHubdiegomura/react-pdfdiegomura/react-pdf · Create PDF files using React · yogo+pdfkit · react-reconciler, scheduler · 参考 · https://react-pdf-repl.vercel.app/笔记:ReactPDF
- chentsulin/awesome-react-rendererGitHubchentsulin/awesome-react-renderer
有趣
- ui-layouts/cursifyGitHubui-layouts/cursify
- Cursor Animation Library for React & Next.js
- stackblitz.com/edit/demo-react-portal-ksmarb
- createPortal 就可以跨窗口
- ryanseddon/react-frame-component/src/Frame.jsx#L133GitHub Fileryanseddon/react-frame-component/src/Frame.jsx#L133
- createPortal 可以在 IFrame 里渲染
- remotion-dev/remotionGitHubremotion-dev/remotion
- 非 OSS 协议
- Create videos programmatically in React
- lahmatiy/react-render-trackerGitHublahmatiy/react-render-tracker
- refinedev/refineGitHubrefinedev/refine接口设计,抽象逻辑值得参考 · refinedev/refine · MIT, React · A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility.笔记:refine
- Build your React-based CRUD applications, without constraints.
- Aristona/react-phaser-three-gameGitHubAristona/react-phaser-three-game
Internal
- Bogdan-Lyashenko/Under-the-hood-ReactJSGitHubBogdan-Lyashenko/Under-the-hood-ReactJS
- Inside Fiber: in-depth overview of the new reconciliation algorithm in React
- In-depth explanation of state and props update in React
- why on React’s usage of linked list in Fiber to walk the component’s tree
- Why Do React Elements Have a $$typeof Property?
Reference Snippets
- codepen: Calculator
- Bit.dev
- PrimeReact
react-fast-compare- Fast deep equal comparison for Reactreact-hotkeys-hook- React hook for hotkeyshotkeys-js- A simple micro-library for defining and dispatching keyboard shortcuts
Design & UI
Keyboard Shortcuts UX
Reference Implementations:
- Gmail: Keyboard shortcuts
- Google Drive: Keyboard shortcuts
- Google Docs: Keyboard shortcuts
Ctrl + /(Win) /Cmd + /(Mac): Open shortcuts listAlt + /(Win) /Option + /(Mac): Search menusAlt + Shift + z
- Google Chrome:
Alt + z
Symbols:
⌘Command⌃Control⌥Option (Alt)⇧Shift⇪Caps Lock↩︎Return/Enter
关联信息
反向链接、本文链接的其他页面和外部资料。
站内链接
- @tanstack/react-router笔记 · @tanstack/react-router
File Based router 优先 · 对代码构建不友好 · 全局强类型 - 构建路由很吃力 · tanstack/router · @tanstack/history · @tanstack/react-store -> use-sync-external-store, @tanstack/store
- Ant Design笔记 · ant-design/ant-design
ant-design/ant-design · 丰富强大的组件库 · 不建议产品使用 - 除非是后台管理系统 · 参考 · 推荐使用 react-component,antd 的基础库 · 非常适用于 快速 出原型和结果 · 非常适用于 内部系统 / 后台管理系统
- daisy笔记 · daisyui
saadeghi/daisyui · MIT, CSS · 基于 TailwindCSS 的一套 UI · 主题 · {primary,secondary,accent,neutral}-{,focus,content} · base-{100,200,300,content}
- Jotai笔记 · jotai
pmndrs/jotai 是什么? · 7.1kB/2.7kB · 大状态拆分小(原子/atom)状态 - 原子状态更利于复用和减小变化影响范围 · 核心接口 atom, Provider, useAtom, Store · jotai/utils 包含其他工具 atom
- million笔记 · aidenybai/million
aidenybai/million · MIT · <4kb · The Virtual DOM Replacement for React · https://million.dev/blog/virtual-dom · Diff the data, not the DOM.
- React Query笔记 · react-query
TanStack/query · 默认 · 开启 refetchOnMount, refetchOnWindowFocus, refetchOnReconnect · cacheTime 5 分钟 - 不再使用的的数据保留 5 分钟 · retry=3, retryDelay exponential
- react-component笔记 · rc-select · rc select
https://github.com/react-component · 参考 · https://react-component.github.io/badgeboard/ · react-component/tree · npm:rc-tree
- react-table笔记 · react-table
tannerlinsley/react-table · 基于 Hook 功能强大的 Table 组件 · v8+ 框架无关,不再使用插件模式 · 针对同一个状态,不要 initialState 和 state 都设置 · 不支持 sticky 行列
- remax笔记 · remax
remaxjs/remax · 使用真正的 React 构建小程序 · 真正 - 基于 react-reconciler · VNode · 支持 less, css module · 参考 · remaxjs/awesome-remax
- Taro笔记 · taro
CSS · 不要使用 ID 选择器 (#od)、属性选择器、标签选择器 · 组件和引用组件的页面不能使用 id 选择器(#a)、属性选择器([a])和标签名选择器,请改用 class 选择器。 · 组件和引用组件的页面中使用后代选择器(.a .b)在一些极端情况下会有非预期的表现,如遇,请避免使用。
- valtio笔记 · valtio
pmndrs/valtio · 7kB/2.5kB - use-sync-external-store+proxy-compare · 基于 proxy 的状态管理 · 类似 mobx, vue · 默认状态变化是异步触发监听 · 可以使用 Class 作为 被代理对象
- zustand笔记 · zustand
pmndrs/zustand 是什么? · out of tree 状态管理 · 可外部查询、修改、订阅 · 可多个渲染树使用 · 支持 react concurrency · Context 可选 · 默认全局 store 单例 · 可在其它框架使用 - 不依赖 react
References
GitHub286 条
- xyflow/xyflowwbkd/react-flow★ 37.1k · Forks 2.4k · Last commit 2026-06-02 · MIT · TypeScript/Svelte
React Flow | Svelte Flow - Powerful open source libraries for building node-based UIs with React (https://reactflow.dev) or Svelte (https://svelteflow.dev). Ready out-of-the-box and infinitely customizable.
- bvaughn/react-windowgithub.com/bvaughn/react-window★ 17.2k · Forks 816 · Last commit 2026-04-12 · MIT · TypeScript/JavaScript
React components for efficiently rendering large lists and tabular data
- projectstorm/react-diagramsgithub.com/projectstorm/react-diagrams★ 9.4k · Forks 1.2k · Last commit 2025-04-03 · MIT · TypeScript/JavaScript
a super simple, no-nonsense diagramming library written in react that just works
- BuilderIO/buildergithub.com/BuilderIO/builder★ 8.7k · Forks 1.1k · Last commit 2026-06-15 · MIT · TypeScript/JavaScript
Visual Development for React, Vue, Svelte, Qwik, and more
- diegomura/react-pdfgithub.com/diegomura/react-pdf
- FormidableLabs/react-fast-comparegithub.com/FormidableLabs/react-fast-compare
- framer/motiongithub.com/framer/motion
- inokawa/virtuagithub.com/inokawa/virtua
- react-grid-layout/react-resizablegithub.com/react-grid-layout/react-resizable
- 6pac/SlickGridgithub.com/6pac/SlickGrid
- adazzle/react-data-gridgithub.com/adazzle/react-data-grid
- adobe/react-spectrumgithub.com/adobe/react-spectrum
- advanced-cropper/react-advanced-croppergithub.com/advanced-cropper/react-advanced-cropper
- airbnb/visxgithub.com/airbnb/visx
- AirLabsTeam/react-drag-to-selectgithub.com/AirLabsTeam/react-drag-to-select
- akiran/react-slickgithub.com/akiran/react-slick
- aknuds1/html-to-reactgithub.com/aknuds1/html-to-react
- alan2207/bulletproof-reactgithub.com/alan2207/bulletproof-react
- alexreardon/memoize-onegithub.com/alexreardon/memoize-one
- alibaba/BizChartsgithub.com/alibaba/BizCharts
- alibaba/ChatUIgithub.com/alibaba/ChatUI
- alibaba/designablegithub.com/alibaba/designable
- alibaba/formilygithub.com/alibaba/formily
- alibaba/hooksgithub.com/alibaba/hooks
- Aljullu/react-lazy-load-image-componentgithub.com/Aljullu/react-lazy-load-image-component
- andrerpena/react-mdegithub.com/andrerpena/react-mde
- ant-design/ant-design-mobilegithub.com/ant-design/ant-design-mobile
- antvis/G2github.com/antvis/G2
- arco-design/arco-designgithub.com/arco-design/arco-design
- Aristona/react-phaser-three-gamegithub.com/Aristona/react-phaser-three-game
- asabaylus/react-command-palettegithub.com/asabaylus/react-command-palette
- asseinfo/react-kanbangithub.com/asseinfo/react-kanban
- atlassian/react-beautiful-dndgithub.com/atlassian/react-beautiful-dnd
- BetterTyped/react-zoom-pan-pinchgithub.com/BetterTyped/react-zoom-pan-pinch
- blocks/blocksgithub.com/blocks/blocks
- Bogdan-Lyashenko/Under-the-hood-ReactJSgithub.com/Bogdan-Lyashenko/Under-the-hood-ReactJS
- bokuweb/re-resizablegithub.com/bokuweb/re-resizable
- bokuweb/react-rndgithub.com/bokuweb/react-rnd
- brimdata/react-arboristgithub.com/brimdata/react-arborist
- bvaughn/plannergithub.com/bvaughn/planner
- bvaughn/react-virtualizedgithub.com/bvaughn/react-virtualized
- bvaughn/rfcs/text/0000-use-mutable-source.mdgithub.com/bvaughn/rfcs/blob/useMutableSource/text/0000-use-mutable-source.md
- callstack/linariagithub.com/callstack/linaria
- caplin/FlexLayoutgithub.com/caplin/FlexLayout
- carbon-design-system/carbongithub.com/carbon-design-system/carbon
- chartjs/Chart.jsgithub.com/chartjs/Chart.js
- chenglou/react-motiongithub.com/chenglou/react-motion
- chentsulin/awesome-react-renderergithub.com/chentsulin/awesome-react-renderer
- Clariity/react-chessboardgithub.com/Clariity/react-chessboard
- clauderic/dnd-kitgithub.com/clauderic/dnd-kit
- cloudscape-design/componentsgithub.com/cloudscape-design/components
- cristianbote/goobergithub.com/cristianbote/goober
- css-modules/css-modulesgithub.com/css-modules/css-modules
- dai-shi/react-hooks-global-stategithub.com/dai-shi/react-hooks-global-state
- dai-shi/react-hooks-workergithub.com/dai-shi/react-hooks-worker
- dai-shi/react-trackedgithub.com/dai-shi/react-tracked
- dai-shi/use-context-selectorgithub.com/dai-shi/use-context-selector
- data-driven-forms/form-buildergithub.com/data-driven-forms/form-builder
- DavidHDev/react-bitsgithub.com/DavidHDev/react-bits
- davidsonfellipe/lena.jsgithub.com/davidsonfellipe/lena.js
- daybrush/scenejsgithub.com/daybrush/scenejs
- denisraslov/react-spreadsheet-gridgithub.com/denisraslov/react-spreadsheet-grid
- devbookhq/splittergithub.com/devbookhq/splitter
- DevExpress/devextreme-reactivegithub.com/DevExpress/devextreme-reactive
- dgreene1/react-accessible-treeviewgithub.com/dgreene1/react-accessible-treeview
- Dhaiwat10/react-link-previewgithub.com/Dhaiwat10/react-link-preview
- dhaiwat10/rlp-proxygithub.com/dhaiwat10/rlp-proxy
- DHTMLXgithub.com/DHTMLX
- doczjs/doczgithub.com/doczjs/docz
- DominicTobias/react-image-cropgithub.com/DominicTobias/react-image-crop
- DouyinFE/semi-designgithub.com/DouyinFE/semi-design
- downshift-js/downshiftgithub.com/downshift-js/downshift
- eBay/nice-modal-reactgithub.com/eBay/nice-modal-react
- ebs-integrator/ebs-designgithub.com/ebs-integrator/ebs-design
- effector/effectorgithub.com/effector/effector
- elastic/euigithub.com/elastic/eui
- emotion-js/emotiongithub.com/emotion-js/emotion
- epoberezkin/fast-deep-equalgithub.com/epoberezkin/fast-deep-equal
- evanw/glfx.jsgithub.com/evanw/glfx.js
- exceljs/exceljsgithub.com/exceljs/exceljs
- express-labs/pure-react-carouselgithub.com/express-labs/pure-react-carousel
- facebook/react/packages/schedulergithub.com/facebook/react/tree/main/packages/scheduler
- facebook/react/packages/use-subscriptiongithub.com/facebook/react/tree/master/packages/use-subscription
- facebook/react#13332github.com/facebook/react/issues/13332
- facebookexperimental/Recoilgithub.com/facebookexperimental/Recoil
- fb55/domhandlergithub.com/fb55/domhandler
- final-form/react-final-formgithub.com/final-form/react-final-form
- fkhadra/react-toastifygithub.com/fkhadra/react-toastify
- Flipboard/react-canvasgithub.com/Flipboard/react-canvas
- formatjs/formatjsgithub.com/formatjs/formatjs
- FormidableLabs/victorygithub.com/FormidableLabs/victory
- formium/formium/examplesgithub.com/formium/formium/tree/master/examples
- frappe/ganttgithub.com/frappe/gantt
- fullcalendar/fullcalendargithub.com/fullcalendar/fullcalendar
- gabrielbull/react-desktopgithub.com/gabrielbull/react-desktop
- geist-org/geist-uigithub.com/geist-org/geist-ui
- gilbarbara/react-joyridegithub.com/gilbarbara/react-joyride
- golden-layout/golden-layoutgithub.com/golden-layout/golden-layout
- gre/gl-reactgithub.com/gre/gl-react
- gregberge/loadable-componentsgithub.com/gregberge/loadable-components
- gregberge/twcgithub.com/gregberge/twc
- grommet/grommetgithub.com/grommet/grommet
- guonanci/react-images-viewergithub.com/guonanci/react-images-viewer
- HarryChen0506/react-markdown-editor-litegithub.com/HarryChen0506/react-markdown-editor-lite
- i18next/next-i18nextgithub.com/i18next/next-i18next
- i18next/react-i18nextgithub.com/i18next/react-i18next
- iamhosseindhv/notistackgithub.com/iamhosseindhv/notistack
- iddan/react-native-canvasgithub.com/iddan/react-native-canvas
- iddan/react-spreadsheetgithub.com/iddan/react-spreadsheet
- immerjs/use-immergithub.com/immerjs/use-immer
- its-danny/use-liliusgithub.com/its-danny/use-lilius
- jamiebuilds/unstated-nextgithub.com/jamiebuilds/unstated-next
- jaredpalmer/formikgithub.com/jaredpalmer/formik
- jedwatson/react-selectgithub.com/jedwatson/react-select
- JetBrains/ring-uigithub.com/JetBrains/ring-ui
- joe-bell/cvagithub.com/joe-bell/cva
- JSainsburyPLC/react-timelinesgithub.com/JSainsburyPLC/react-timelines
- jsjoeio/styled-components-vs-emotiongithub.com/jsjoeio/styled-components-vs-emotion
- KingSora/OverlayScrollbarsgithub.com/KingSora/OverlayScrollbars
- konvajs/konvagithub.com/konvajs/konva
- konvajs/react-konvagithub.com/konvajs/react-konva
- lahmatiy/react-render-trackergithub.com/lahmatiy/react-render-tracker
- leandrowd/react-responsive-carouselgithub.com/leandrowd/react-responsive-carousel
- lingui/js-linguigithub.com/lingui/js-lingui
- linkedin/css-blocksgithub.com/linkedin/css-blocks
- lmsqueezy/wedgesgithub.com/lmsqueezy/wedges
- Lodin/react-vtreegithub.com/Lodin/react-vtree
- LuisMPS/build-uigithub.com/LuisMPS/build-ui
- magicuidesign/magicuigithub.com/magicuidesign/magicui
- malaman/react-image-zoomgithub.com/malaman/react-image-zoom
- mantinedev/mantinegithub.com/mantinedev/mantine
- mapbox/awesome-vector-tilesgithub.com/mapbox/awesome-vector-tiles
- mapbox/mapbox-gl-jsgithub.com/mapbox/mapbox-gl-js
- maplibre/demotilesgithub.com/maplibre/demotiles
- maplibre/maplibre-gl-jsgithub.com/maplibre/maplibre-gl-js
- margox/braft-editorgithub.com/margox/braft-editor
- margox/braft-extensionsgithub.com/margox/braft-extensions
- maslianok/react-resize-detectorgithub.com/maslianok/react-resize-detector
- mathuo/dockviewgithub.com/mathuo/dockview
- mattrothenberg/react-overflow-listgithub.com/mattrothenberg/react-overflow-list
- melloware/react-logviewergithub.com/melloware/react-logviewer
- mgorabbani/react-image-pan-zoom-rotategithub.com/mgorabbani/react-image-pan-zoom-rotate
- microsoft/fluentuigithub.com/microsoft/fluentui
- millionco/react-doctorgithub.com/millionco/react-doctor
- mobxjs/mobxgithub.com/mobxjs/mobx
- mobxjs/mobx#2526github.com/mobxjs/mobx/issues/2526
- molefrog/spoiledgithub.com/molefrog/spoiled
- molefrog/woutergithub.com/molefrog/wouter
- moroshko/react-autosuggestgithub.com/moroshko/react-autosuggest
- mui-org/material-uigithub.com/mui-org/material-ui
- mui/base-uigithub.com/mui/base-ui
- nadbm/react-datasheetgithub.com/nadbm/react-datasheet
- namespace-ee/react-calendar-timelinegithub.com/namespace-ee/react-calendar-timeline
- nandorojo/dripsygithub.com/nandorojo/dripsy
- nandorojo/motigithub.com/nandorojo/moti
- nasa8x/html-metadata-parsergithub.com/nasa8x/html-metadata-parser
- nextui-org/nextuigithub.com/nextui-org/nextui
- nhn/tui.image-editorgithub.com/nhn/tui.image-editor
- nolimits4web/swipergithub.com/nolimits4web/swiper
- nomcopter/react-mosaicgithub.com/nomcopter/react-mosaic
- NotionX/react-notion-xgithub.com/NotionX/react-notion-x
- okonet/react-scroll-syncgithub.com/okonet/react-scroll-sync
- openmaptiles/openmaptilesgithub.com/openmaptiles/openmaptiles
- palantir/blueprintgithub.com/palantir/blueprint
- paol-imi/react-reparentinggithub.com/paol-imi/react-reparenting
- petyosi/react-virtuosogithub.com/petyosi/react-virtuoso
- pinterest/gestaltgithub.com/pinterest/gestalt
- plotly/plotly.jsgithub.com/plotly/plotly.js
- plotly/react-plotly.jsgithub.com/plotly/react-plotly.js
- plouc/nivogithub.com/plouc/nivo
- pmndrs/react-springgithub.com/pmndrs/react-spring
- pmndrs/react-three-fibergithub.com/pmndrs/react-three-fiber
- pmndrs/valtio#141github.com/pmndrs/valtio/issues/141
- pmndrs/zustand#182github.com/pmndrs/zustand/issues/182
- popperjs/react-poppergithub.com/popperjs/react-popper
- prabhuignoto/react-chronogithub.com/prabhuignoto/react-chrono
- primefaces/primereactgithub.com/primefaces/primereact
- radix-ui/primitivesgithub.com/radix-ui/primitives
- radix-ui/primitives#1456github.com/radix-ui/primitives/issues/1456
- reach/routergithub.com/reach/router
- react-cosmos/react-cosmosgithub.com/react-cosmos/react-cosmos
- react-dnd/react-dndgithub.com/react-dnd/react-dnd
- react-dropzone/react-dropzonegithub.com/react-dropzone/react-dropzone
- react-grid-layout/react-draggablegithub.com/react-grid-layout/react-draggable
- react-grid-layout/react-grid-layoutgithub.com/react-grid-layout/react-grid-layout
- react-hook-form/react-hook-formgithub.com/react-hook-form/react-hook-form
- react-icons/react-iconsgithub.com/react-icons/react-icons
- react-native-skia/react-native-skiagithub.com/react-native-skia/react-native-skia
- react-page/react-pagegithub.com/react-page/react-page
- react-querybuilder/react-querybuildergithub.com/react-querybuilder/react-querybuilder
- react-tags/react-tagsgithub.com/react-tags/react-tags
- React9k/react-timeline-9000github.com/React9k/react-timeline-9000
- reactivex/rxjsgithub.com/reactivex/rxjs
- reactjs/react-transition-groupgithub.com/reactjs/react-transition-group
- ReactTooltip/react-tooltipgithub.com/ReactTooltip/react-tooltip
- ReactTraining/historygithub.com/ReactTraining/history
- ReactTraining/react-routergithub.com/ReactTraining/react-router
- reactwg/react-18/discussions/46github.com/reactwg/react-18/discussions/46
- reakit/reakitgithub.com/reakit/reakit
- reavizgithub.com/reaviz
- reaviz/reaflowgithub.com/reaviz/reaflow
- reaviz/reagraphgithub.com/reaviz/reagraph
- reaviz/reavizgithub.com/reaviz/reaviz
- rebassjs/rebassgithub.com/rebassjs/rebass
- recharts/rechartsgithub.com/recharts/recharts
- reduxjs/redux-toolkitgithub.com/reduxjs/redux-toolkit
- refinedev/refinegithub.com/refinedev/refine
- remarkablemark/html-react-parsergithub.com/remarkablemark/html-react-parser
- remarkablemark/react-dom-core/packages/react-propertygithub.com/remarkablemark/react-dom-core/tree/master/packages/react-property
- rematch/rematchgithub.com/rematch/rematch
- remotion-dev/remotiongithub.com/remotion-dev/remotion
- rewindui/rewinduigithub.com/rewindui/rewindui
- riktar/uncinogithub.com/riktar/uncino
- robinweser/felagithub.com/robinweser/fela
- rpearce/react-medium-image-zoomgithub.com/rpearce/react-medium-image-zoom
- rrweb-io/rrwebgithub.com/rrweb-io/rrweb
- rsuite/rsuitegithub.com/rsuite/rsuite
- ryanseddon/react-frame-component/src/Frame.jsx#L133github.com/ryanseddon/react-frame-component/blob/master/src/Frame.jsx
- samdenty/console-feedgithub.com/samdenty/console-feed
- sandiiarov/use-deep-comparegithub.com/sandiiarov/use-deep-compare
- sannajammeh/tw-classedgithub.com/sannajammeh/tw-classed
- SAP/openui5github.com/SAP/openui5
- Saul-Mirone/milkdowngithub.com/Saul-Mirone/milkdown
- sbstjn/timesheet.jsgithub.com/sbstjn/timesheet.js
- scaleflex/filerobot-image-editorgithub.com/scaleflex/filerobot-image-editor
- segmentio/evergreengithub.com/segmentio/evergreen
- sghall/react-movegithub.com/sghall/react-move
- SheetJS/sheetjsgithub.com/SheetJS/sheetjs
- Shopify/hydrogengithub.com/Shopify/hydrogen
- Shopify/react-native-skiagithub.com/Shopify/react-native-skia
- signavio/react-mentionsgithub.com/signavio/react-mentions
- silevis/reactgridgithub.com/silevis/reactgrid
- SortableJS/Sortablegithub.com/SortableJS/Sortable
- splitbee/react-notiongithub.com/splitbee/react-notion
- StaticMania/keep-reactgithub.com/StaticMania/keep-react
- stephane-monnot/react-vertical-timelinegithub.com/stephane-monnot/react-vertical-timeline
- stitchesjs/stitchesgithub.com/stitchesjs/stitches
- storeon/storeongithub.com/storeon/storeon
- storeon/storeon/index.jsgithub.com/storeon/storeon/blob/main/index.js
- storeon/storeon/react/index.jsgithub.com/storeon/storeon/blob/main/react/index.js
- storybookjs/storybookgithub.com/storybookjs/storybook
- streamich/react-usegithub.com/streamich/react-use
- styled-components/styled-componentsgithub.com/styled-components/styled-components
- styleguidist/react-styleguidistgithub.com/styleguidist/react-styleguidist
- styletron/styletrongithub.com/styletron/styletron
- supabase/uigithub.com/supabase/ui
- swimmingkiim/react-image-editorgithub.com/swimmingkiim/react-image-editor
- table-library/react-table-librarygithub.com/table-library/react-table-library
- tabler/tabler-iconsgithub.com/tabler/tabler-icons
- tailwind-mobile/tailwind-mobilegithub.com/tailwind-mobile/tailwind-mobile
- tailwindlabs/headlessuigithub.com/tailwindlabs/headlessui
- tamagui/tamaguigithub.com/tamagui/tamagui
- TanStack/rangergithub.com/TanStack/ranger
- TanStack/virtualgithub.com/TanStack/virtual
- teafuljs/teafulgithub.com/teafuljs/teaful
- thebuilder/react-intersection-observergithub.com/thebuilder/react-intersection-observer
- ticlo/rc-dockgithub.com/ticlo/rc-dock
- timolins/react-hot-toastgithub.com/timolins/react-hot-toast
- tinyplex/tinybasegithub.com/tinyplex/tinybase
- tremorlabs/tremorgithub.com/tremorlabs/tremor
- Turfjs/turfgithub.com/Turfjs/turf
- twobin/react-lazyloadgithub.com/twobin/react-lazyload
- uber/react-visgithub.com/uber/react-vis
- ui-layouts/cursifygithub.com/ui-layouts/cursify
- ui-layouts/uilayoutsgithub.com/ui-layouts/uilayouts
- uiwjs/province-city-chinagithub.com/uiwjs/province-city-china
- uiwjs/react-md-editorgithub.com/uiwjs/react-md-editor
- uiwjs/uiwgithub.com/uiwjs/uiw
- ukrbublik/react-awesome-query-buildergithub.com/ukrbublik/react-awesome-query-builder
- unform/unformgithub.com/unform/unform
- vadimdemedes/inkgithub.com/vadimdemedes/ink
- vadimdemedes/ink-uigithub.com/vadimdemedes/ink-ui
- vadimdemedes/pastelgithub.com/vadimdemedes/pastel
- ValentinH/react-easy-cropgithub.com/ValentinH/react-easy-crop
- vazco/uniformsgithub.com/vazco/uniforms
- vercel/styled-jsxgithub.com/vercel/styled-jsx
- vercel/swrgithub.com/vercel/swr
- visgl/react-map-glgithub.com/visgl/react-map-gl
- welldone-software/why-did-you-rendergithub.com/welldone-software/why-did-you-render
- wojtekmajgithub.com/wojtekmaj
- wojtekmaj/react-calendargithub.com/wojtekmaj/react-calendar
- wojtekmaj/react-pdfgithub.com/wojtekmaj/react-pdf
- xiaolin/react-image-gallerygithub.com/xiaolin/react-image-gallery
- yairEO/tagifygithub.com/yairEO/tagify
- Yomguithereal/react-blessedgithub.com/Yomguithereal/react-blessed
- zzarcon/react-cristalgithub.com/zzarcon/react-cristal
Packages2 条
- @atlaskit/treewww.npmjs.com/package/@atlaskit/tree
- react-div-100vhwww.npmjs.com/package/react-div-100vh
其他外链45 条
- 2020.stateofjs.com/en-US/technologies/datalayer2020.stateofjs.com/en-US/technologies/datalayer
- alvarotrigo.com/blog/react-carouselsalvarotrigo.com/blog/react-carousels
- bitsrc.iobitsrc.io/
- codepen.io/mjijackson/pen/xOzyGXcodepen.io/mjijackson/pen/xOzyGX
- cva.style/docscva.style/docs
- designable-antd.formilyjs.orgdesignable-antd.formilyjs.org/
- dev.to/jbdemonte/create-a-window-manager-with-react-3makdev.to/jbdemonte/create-a-window-manager-with-react-3mak
- developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_APIdeveloper.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
- devexpress.github.io/devextreme-reactive/react/scheduler/demos/featured/overviewdevexpress.github.io/devextreme-reactive/react/scheduler/demos/featured/overview
- dhtmlx.com/docs/products/dhtmlxGanttdhtmlx.com/docs/products/dhtmlxGantt
- evanw.github.io/glfx.js/demoevanw.github.io/glfx.js/demo
- express-labs.github.io/pure-react-carouselexpress-labs.github.io/pure-react-carousel
- floating-ui.comfloating-ui.com/
- formnerd.coformnerd.co/
- geist-ui.dev/en-us/components/file-treegeist-ui.dev/en-us/components/file-tree
- heroicons.comheroicons.com/
- img.shields.io/bundlephobia/min/jotaiimg.shields.io/bundlephobia/min/jotai
- img.shields.io/bundlephobia/min/zustandimg.shields.io/bundlephobia/min/zustand
- indepth.dev/posts/1005/level-up-your-reverse-engineering-skillsindepth.dev/posts/1005/level-up-your-reverse-engineering-skills
- indepth.dev/posts/1008/inside-fiber-in-depth-overview-of-the-new-reconciliation-algorithm-in-reactindepth.dev/posts/1008/inside-fiber-in-depth-overview-of-the-new-reconciliation-algorithm-in-react
- indepth.dev/posts/1009/in-depth-explanation-of-state-and-props-update-in-reactindepth.dev/posts/1009/in-depth-explanation-of-state-and-props-update-in-react
- jetbrains.github.io/ring-ui/master/index.html?path=/story/components-query-assist--basicjetbrains.github.io/ring-ui/master/index.html?path=%2Fstory%2Fcomponents-query-assist--basic
- medium.com/@learnreact/container-components-c0e67432e005medium.com/@learnreact/container-components-c0e67432e005
- medium.com/@sashika/j-k-or-how-to-choose-keyboard-shortcuts-for-web-applications-a7c3b7b408eemedium.com/@sashika/j-k-or-how-to-choose-keyboard-shortcuts-for-web-applications-a7c3b7b408ee
- medium.com/react-in-depth/the-how-and-why-on-reacts-usage-of-linked-list-in-fiber-67f1014d0eb7medium.com/react-in-depth/the-how-and-why-on-reacts-usage-of-linked-list-in-fiber-67f1014d0eb7
- mui.com/base-ui/getting-startedmui.com/base-ui/getting-started
- mui.com/blog/base-ui-2024-plansmui.com/blog/base-ui-2024-plans
- mui.com/blog/introducing-base-uimui.com/blog/introducing-base-ui
- overreacted.io/why-do-react-elements-have-typeof-propertyoverreacted.io/why-do-react-elements-have-typeof-property
- react-icons.github.io/react-iconsreact-icons.github.io/react-icons
- react-redux.js.org/api/hooksreact-redux.js.org/api/hooks
- reactpatterns.comreactpatterns.com/
- reacttraining.com/blog/reach-react-router-futurereacttraining.com/blog/reach-react-router-future
- sheetjs.com/prosheetjs.com/pro
- smartdevpreneur.com/react-spring-vs-framer-motion-comparing-examples-in-two-animation-librariessmartdevpreneur.com/react-spring-vs-framer-motion-comparing-examples-in-two-animation-libraries
- stackblitz.com/edit/demo-react-portal-ksmarbstackblitz.com/edit/demo-react-portal-ksmarb
- support.google.com/docs/answer/179738?co=GENIE.Platform%3DDesktop&hl=ensupport.google.com/docs/answer/179738?co=GENIE.Platform%3DDesktop&hl=en
- support.google.com/drive/answer/2563044?hl=ensupport.google.com/drive/answer/2563044?hl=en
- support.google.com/mail/answer/6594?co=GENIE.Platform%3DDesktop&hl=ensupport.google.com/mail/answer/6594?co=GENIE.Platform%3DDesktop&hl=en
- swiperjs.com/reactswiperjs.com/react
- www.form.iowww.form.io/
- www.maptiler.comwww.maptiler.com/
- www.primefaces.org/primereactwww.primefaces.org/primereact
- www.unicode.org/reports/tr35/tr35-59/tr35.htmlwww.unicode.org/reports/tr35/tr35-59/tr35.html
- youtu.be/_ISAA_Jt9kIyoutu.be/_ISAA_Jt9kI