Meilleur éditeur de texte enrichi pour les applications React

Éditeur WYSIWYG React

Éditeur de texte enrichi complet, élégant et intuitif pour l'écosystème React

  • Conçu pour React (frontend, SSR)

  • Interface utilisateur Material UI

  • Développé avec un souci d'accessibilité pour l'utilisateur

  • Intégration facile avec votre stockage de ressources multimédias (téléchargement, intégration, recherche)

  • Prend en charge la localisation de l'interface utilisateur (et vous pouvez également intégrer votre propre mécanisme de localisation)

  • Balises HTML programmables (comme <Formula /> ou <LiveStream />)

  • CSS personnalisé

  • Facile à étendre, en utilisant la POO

Fonctionnement
text/javascript
1import { useRef } from 'react'
2
3// Pour avoir accès aux packages du fournisseur @andrei-sfia,
4// vous aurez besoin d'un jeton d'accès npm
5import { baseIOC, Editor, EditorAPI } from '@andrei-sfia/canvas-editor'
6
7// Vous pouvez utiliser EditorSSR à la place de Editor
8// si votre application génère du code React côté serveur.
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}