El mejor editor de texto enriquecido para aplicaciones React

Editor WYSIWYG para React

Editor de texto enriquecido con todas las funciones, elegante e intuitivo para el ecosistema React

  • Construido para React (frontend, SSR)

  • Interfaz de usuario Material UI

  • Construido pensando en la accesibilidad del usuario

  • Fácil de integrar con tu almacenamiento de activos multimedia (para subir, incrustar, buscar)

  • Soporta localización para la interfaz de usuario (y también puedes integrar tu propio mecanismo de localización)

  • Etiquetas HTML programables (como <Formula /> o <LiveStream />)

  • CSS personalizado

  • Fácil de extender, usando OOP

Cómo funciona
text/javascript
1import { useRef } from 'react'
2
3// Necesitarás un token de acceso npm para tener acceso
4// a los paquetes del proveedor @andrei-sfia
5import { baseIOC, Editor, EditorAPI } from '@andrei-sfia/canvas-editor'
6
7// En lugar de Editor, puedes usar EditorSSR
8// si tu aplicación está renderizando código react del lado del backend.
9
10export default function Page() {
11
12 // React ref to the API of editor (to be able to fetch value)
13 const editor = useRef<EditorAPI>()
14
15 const onEditorChange = () => {
16 // The API of Editor provides the value of edited text
17 console.log(editor.current.value);
18 }
19
20 return (
21 // Editor component
22 <Editor
23 // Include your license key (see plans and pricing)
24 licenseKey={"my-license-key"}
25 // Configure editor height
26 height={{
27 cssValue: '100%' // height controlled by CSS
28 // or automatic height based on content:
29 // auto: true, // automatic editor height
30 // min: 100, // min height in pixels
31 // max: 400, // max height in pixels
32 }}
33 // Initial HTML value
34 value={'<p>html value</p>'}
35 ref={editor}
36 // Configure editor mode (richText)
37 editorMode={{
38 mode: 'richText',
39 // format of value
40 mimeType: 'text/html',
41 // html tag rewriting for SEO purposes
42 encoderOptions: {
43 i: 'em',
44 u: 'u',
45 b: 'strong'
46 },
47 decoderOptions: {}
48 }}
49 onChange={() => {
50 onEditorChange()
51 }}
52 // reference to IOC container, where you can
53 // configure global/per-instance settings
54 // (like Media Library, Custom CSS, Translations, and more)
55 iocContainer={baseIOC}
56 ></Editor>
57 )
58}