渲染器开发
渲染器是 EasyEditor 的核心架构之一,负责将设计器中的组件配置渲染为实际可见的界面。EasyEditor 支持多种框架的渲染器实现,本指南将帮助你了解渲染器的基本概念和使用方法。
渲染器概述
EasyEditor 的渲染器分为两种模式:
- 设计态渲染器:用于在设计器中进行可视化编辑,支持组件选择、拖拽、调整等操作。
- 运行态渲染器:用于将设计好的配置渲染为最终用户可交互的界面。
内置渲染器
EasyEditor 目前提供以下内置渲染器:
@easyeditor/react-renderer
: 基础 React 渲染器@easyeditor/react-renderer-dashboard
: 大屏应用 React 渲染器 (基于React 渲染器扩展)@easyeditor/react-renderer-form
: 表单应用 React 渲染器 (开发中)
渲染器使用
设计态渲染器
设计态渲染器通常通过 SimulatorRenderer
组件实现:
tsx
import { SimulatorRenderer } from '@easyeditor/react-renderer-dashboard'
import { simulator } from './editor'
export const DesignEditor = () => {
return <SimulatorRenderer host={simulator} />
}
运行态渲染器
运行态渲染器通过 Renderer
组件实现:
tsx
import { Renderer } from '@easyeditor/react-renderer-dashboard'
import { components } from './materials'
export const RuntimePreview = ({ schema }) => {
return (
<Renderer
schema={schema}
components={components}
viewport={{ width: 1920, height: 1080 }}
/>
)
}
渲染器配置
渲染器支持多种配置选项:
tsx
<Renderer
// 必须项:组件配置Schema
schema={schema}
// 必须项:组件映射
components={components}
// 可选项:视口配置
viewport={{ width: 1920, height: 1080 }}
// 可选项:设计模式
designMode={false}
// 可选项:应用辅助对象,提供工具方法和上下文
appHelper={{
utils: {
navigate: (path) => { /* 导航处理 */ },
request: (url, options) => { /* API请求处理 */ }
},
ctx: {
currentUser: { /* 用户信息 */ }
}
}}
// ...
/>
渲染器扩展
EasyEditor 支持开发自定义渲染器来适配不同的框架或特定的应用场景。渲染器扩展可以:
- 支持新的框架:如 Vue、Angular 等
- 定制渲染行为:例如为特定组件实现定制的渲染逻辑
- 增强交互能力:添加新的交互能力、动画效果等
详细的渲染器开发指南,请参考以下章节: