Craft.js: 下一代拖放页面编辑器热门 React 框架

前有科技后进阶2024-05-30 06:20:00  56

大家好,很高兴又见面了,我是"高级前端?进阶?",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。

什么是 Craft.js

A React Framework for building extensible drag and drop page editors

页面编辑器为开发者提供出色的用户体验,然而人力消耗也不容小觑。

通用的库都附带了一个开箱即用的完整页面编辑器、用户界面和可编辑组件。 但是,如果开发者希望进行自定义,例如:修改用户界面及其行为,那么或多或少会涉及库本身的修改。

Craft.js 通过模块化页面编辑器的构建块解决了这个问题,其配备了优秀的拖放系统,并处理用户组件的渲染、更新和移动方式等,从而开发者能够完全按照想要的外观和行为构建自己的页面编辑器。

Craft.js 在以下场景中非常有用:

根据自己的 UI 规范设计页面编辑器,通过 Craft.js 开发者可以控制页面编辑器的外观和样式的方方面面

熟悉 React 生态, 作为一个 React 框架开发者不仅可以以声明方式构建用户界面,而且还可以为页面编辑器扩展数千个现有的 React 组件

当然,如果是以下情况,并不建议使用 Craft.js:

? 如果需要一个开箱即用的页面编辑器, Craft.js 本质是一个抽象,开发者可以在其中实现自己的页面编辑器, 例如:其没有配备现成的用户界面

目前 Craft.js 在 Github 通过 MIT 协议开源,有超过 7.1k 的 star、1k 的 fork、1k 的项目依赖量、代码贡献者 40+、是一个值得关注的前端开源项目。

如何使用 Craft.js

Craft.js 不需要复杂的插件系统,从上到下设计编辑器的方式与在 React 中设计任何其他前端应用程序的方式相同。 比如下面的组件:

import {useNode} from "@craftjs/core";// 使用 useNode Hooksconst TextComponent = ({text}) => { const {connectors: {drag} } = useNode; return (

{text}

)

同时,整个页面编辑器 UI 都使用 React 构建:

import React from "react";import {Editor, Frame, Canvas, Selector} from "@craftjs/core";const App = => { return (

Header 部分或者任何其他内容
// 这里是可编辑区域的设置 )}

如果开发者要控制组件编辑,可以通过下面的方式:

import {useNode} from "@craftjs/core";const TextComponent = ({text}) => { const {connectors: { connect, drag}, isClicked, actions: {setProp} } = useNode( (state) => ({ isClicked: state.event.selected, // 是否选中 }) ); return (

connect(drag(dom))}> // 使用ref

{text}

{ isClicked ? ( setProp(e.target.value)} // 绑定 onChange 事件 /> ) } )}

更多关于 Craft.js 的用法和示例可以参考文末资料,本文不再过多展开。

参考资料

转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/640745.html
0
随机主题
宁波建工: 子公司牵头联合体中标6.69亿元EPC项目梦一、梦八、现役美国男篮外加南斯拉夫男篮同场竞技!20GB+256GB+1TB扩展, 顶配跌至999元, 蓝厂5G手机售价再创新低莱希坠机原因找到了?或离不开这一国,细节罕见公布,局势恐变天我国网络拍卖领域首个规范性文件发布, 明确线上线下监管一致性争议!NBA最佳阵容引球迷不满,这仨人凭啥入选?沃尔沃德国发布新的Polestar工程限量版XC60 SUV和S60轿车抹不去的记忆和乡愁 四十余年镜头记录夏收的点点滴滴洛杉矶这个论坛上, 上海市长向加州企业发出邀请2024年暑期档,《封神2》缺席,《哪吒2》来袭,成龙对决谢霆锋张晋50岁生日晒全家福, 俩女儿长成翻版蔡少芬, 儿子烫卷发像爸爸浙江省生物多样性保护优秀案例公布 | “象山县全民守护中华凤头燕鸥”案例成功入选以色列总理遭全球通缉, 布林肯害怕极了, 以后岂不要通缉美国总统!聪明贼留下挑衅信被警察抓, 成功打脸中国大模型价格战: 字节阿里死磕0.0003元, 百度直接宣布免费!欧文: 我时刻提醒队友失败是什么感觉 登顶夺冠又是什么感觉崔康熙两大嫡系夏窗驰援鲁能时间敲定, 能力已获认可, 值得期待小白用户能不能买卡贴机新形势下地方招商引资的挑战与应对低空经济利好不断! 炒作风暴有望继续爆发! 相关概念和潜力股曝光!520的瓜相比汪峰杨洋, 70岁的大咖的瓜让人意外, 姜还是老的辣
最新回复(0)