news 2026/11/4 2:14:26

什么是ui-builder?一行代码给你的React应用嵌入Figma风格可视化编辑器,让非开发者拖拽搭建页面

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
什么是ui-builder?一行代码给你的React应用嵌入Figma风格可视化编辑器,让非开发者拖拽搭建页面

【免费下载链接】ui-builder

A React component that provides a no-code, visual way to create UIs, compatible with shadcn/ui and custom components.

项目地址:https://gitcode.com/gh_mirrors/ui/ui-builder
点击查看免费下载

ui-builder是一个面向 React 应用的开源无代码(no-code)可视化编辑器组件,以 shadcn/ui 包的形式发布。它能把一个 Figma 风格的拖拽编辑器直接嵌入你自己的产品里,让运营、产品甚至客户不用写代码,就能用你项目里现成的 React 组件搭建落地页、仪表盘、邮件模板和定制门户。页面结构最终以纯 JSON 存储,方便版本管理与动态渲染。

🤔 为什么需要 ui-builder?

市面上的无代码工具大多有一个通病:它们自带一套组件库,逼着你从头重建 UI,最终生成的页面和你产品的视觉风格格格不入。

ui-builder 反其道而行——组件由你提供:

  • 它运行在你现有的 React 组件之上,你只需通过componentRegistry告诉编辑器"哪些组件可用"
  • 拖拽出来的 Button、Card 就是你自己@/components/ui里的那些组件,视觉风格天然统一
  • 布局以 JSON 形式保存,可以入库、进 Git、做版本对比

✨ 核心功能一览

功能说明
🎨 Figma 风格画布拖拽、嵌套、排序组件,左侧图层树 + 右侧属性面板,实时预览
📦 54 个 shadcn 组件预配置好的 shadcn/ui 组件 + 124 个 Block 模板(登录表单、侧边栏、仪表盘等)
⚙️ 属性面板自动生成基于 Zod Schema 自动为每个组件生成可编辑的 props 表单
🔗 变量绑定把组件属性绑定到 string / number / boolean 变量,实现动态内容
⚡ 事件绑定通过 Function Registry 把onClick、onSubmit绑定到预定义函数
💻 React 代码导出一键把可视化页面导出为干净、可读的 React 代码
🖥️ 服务端渲染支持 SSR / RSC,首屏无需客户端 JS,对 SEO 友好
💾 灵活持久化默认存 localStorage,也可通过onChange回调接入你的数据库

🖥️ 编辑器界面长什么样?

界面分为三个区域:

  1. 左侧面板:Layers(图层树,管理组件层级与页面切换)和Appearance(外观与变量设置)两个标签页
  2. 中间画布:所见即所得的编辑区,直接点选、拖拽组件,实时调整
  3. 右侧属性面板:选中组件后自动出现,可编辑尺寸、间距、Tailwind 类名、变体等所有 props

下面是官方演示动画,展示了拖拽搭建页面的完整过程:

深色主题下同样完整可用,右侧属性面板支持直接编辑 className、子组件和变体:

🚀 三步快速上手

第 1 步:安装(shadcn 一行命令)

npx shadcn@latest add https://raw.githubusercontent.com/olliethedev/ui-builder/main/registry/block-registry.json

第 2 步:创建页面并嵌入编辑器

新建app/builder/page.tsx,核心只有几行——导入UIBuilder组件,传入你的componentRegistry:

"use client"; import UIBuilder from "@/components/ui/ui-builder"; import { primitiveComponentDefinitions } from "@/lib/ui-builder/registry/primitive-component-definitions"; import { complexComponentDefinitions } from "@/lib/ui-builder/registry/complex-component-definitions"; export default function BuilderPage() { return ( <main className="h-screen"> <UIBuilder componentRegistry={{ ...primitiveComponentDefinitions, ...complexComponentDefinitions, }} /> </main> ); }

访问http://localhost:3000/builder即可看到编辑器。

第 3 步:生产环境渲染页面

正式展示页面时不需要编辑器外壳,用LayerRenderer(客户端)或ServerLayerRenderer(SSR/RSC)直接渲染保存的 JSON 布局,还可以注入variableValues实现动态内容。

🎯 典型使用场景

  • 市场团队:不排期等开发,自行更新落地页
  • 产品经理:调整邮件模板,部分内容按用户动态渲染
  • B2B / 白标业务:客户用自己的内容与品牌定制门户
  • Headless CMS:给内容 API 加一个可视化"头部",连接内容库与组件库

项目内置的邮件构建能力(见 lib/ui-builder/email/)还可以直接拖拽搭建 react-email 邮件模板。

📂 关键文件导航

想深入源码或文档,可以从这些入口入手:

  • 主组件(编辑器入口):components/ui/ui-builder/index.tsx
  • 客户端渲染器:components/ui/ui-builder/layer-renderer.tsx
  • 服务端渲染器(SSR/RSC):components/ui/ui-builder/server-layer-renderer.tsx
  • 内置基础组件注册表:lib/ui-builder/registry/primitive-component-definitions.ts
  • shadcn 组件注册表:lib/ui-builder/registry/shadcn-component-definitions.ts
  • 安装用 shadcn 注册表 JSON:registry/block-registry.json、registry/shadcn-components-registry.json
  • 官方文档内容(项目自带文档站源码):app/docs/docs-data/docs-page-layers/introduction.ts、app/docs/docs-data/docs-page-layers/variables.ts

❓ 常见问题

它和普通的无代码建站工具有什么区别?无代码工具通常用自带的组件体系生成页面;ui-builder 直接用你项目里的 React 组件,产出的页面与产品视觉 100% 一致,还能导出回 React 代码。

非开发者能独立使用吗?可以。编辑器提供拖拽画布、图层树和自动生成的属性表单,理解"组件嵌套"概念即可上手。

需要哪些技术栈?Next.js 14+(推荐 App Router)、React 18+、Tailwind CSS(启用 CSS 变量以便主题化)。React 19 用户如遇 peer dependency 警告,在.npmrc中加入legacy-peer-deps=true即可。

布局怎么保存?以纯 JSON 存储,通过onChange回调写入数据库或 localStorage,天然支持版本管理与动态数据渲染。


总结来说:如果你的 React 产品需要一个"让非开发者也能拖拽搭页面"的能力,ui-builder几乎就是为这个需求而生的——一行代码嵌入 Figma 风格编辑器,组件、主题、代码导出全部无缝融入现有项目。

【免费下载链接】ui-builder

A React component that provides a no-code, visual way to create UIs, compatible with shadcn/ui and custom components.

项目地址:https://gitcode.com/gh_mirrors/ui/ui-builder
点击查看免费下载
上一篇:codex-redteam-mode 版本演进简史:从36张领域卡片到单一 generic-adaptive 运行时的 v1 到 v2.1 之路
下一篇:为什么选择ELF:连续嵌入空间如何突破离散Token的瓶颈

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/4 2:14:25

RWKV 6—9月社区生态月报

欢迎大家收看《RWKV 社区最新动态》&#xff01;本期回顾 2026 年 6—9 月的社区生态进展&#xff0c;并同步补充 10 月 8 日官方公众号介绍的 RWKV-7 G1k 发布动态。 44 篇论文&#xff0c;展现 RWKV 研究生态的持续拓展。 按官网条目日期统计&#xff0c;6—9 月共收录 44 篇…

作者头像 李华
网站建设 2026/11/4 2:11:38

Ice macOS 菜单栏管理器指南:如何隐藏、排序并自定义菜单栏图标

Ice macOS 菜单栏管理器指南&#xff1a;如何隐藏、排序并自定义菜单栏图标 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice Ice 是一款 macOS 菜单栏管理工具&#xff0c;它把冗余图标藏起来、把常用…

作者头像 李华
网站建设 2026/11/4 2:10:55

微信聊天记录导出完整指南:本地备份 HTML、Word、CSV 三种格式

微信聊天记录导出完整指南&#xff1a;本地备份 HTML、Word、CSV 三种格式 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/…

作者头像 李华