React富文本编辑器wangEditor

1.安装

npm install @wangeditor/editor-for-react --save

或者

yarn add @wangeditor/editor-for-react

2.使用案例

组件内部分:

javascript 复制代码
import '@wangeditor/editor/dist/css/style.css' // 引入 css
import React, { useState, useEffect } from 'react'
import { Editor, Toolbar } from '@wangeditor/editor-for-react'

function MyEditor({defaultHtml,updateHtml}) {
    const [editor, setEditor] = useState(null) // 存储 editor 实例
    const [html, setHtml] = useState(defaultHtml) // 编辑器内容

    useEffect(() => {
			updateHtml(html)
    }, [html])
	
    const toolbarConfig = {}
    const editorConfig = {
        placeholder: '请输入内容...',
    }

    // 及时销毁 editor ,重要!
    useEffect(() => {
        return () => {
            if (editor == null) return
            editor.destroy()
            setEditor(null)
        }
    }, [editor])

    return (
        <>
            <div style={{ border: '1px solid #ccc', zIndex: 100,height:'350px',padding:'1vh 0', }}>
                <Toolbar
                    editor={editor}
                    defaultConfig={toolbarConfig}
                    mode="default"
                    style={{ borderBottom: '1px solid #ccc' }}
                />
                <Editor
                    defaultConfig={editorConfig}
                    value={html}
                    onCreated={setEditor}
                    onChange={editor => setHtml(editor.getHtml())}
                    mode="default"
                    style={{ height: '50%', 'overflow-y': 'hidden' }}
                />
            </div>
        </>
    )
}

export default MyEditor;

(1)传递的一个dufaultHTML作为富文本编辑器的默认值,供编辑的场景使用。

(2)updateHTML作为用于富文本编辑器的值发生变化后向父组件暴漏出来的当前最新的值,父组件使用高阶函数来获取编辑器最新的值。

相关推荐
Highcharts.js3 小时前
Highcharts for Python|用 Pythonic 的方式构建AI数据可视化图表
前端·人工智能·python·信息可视化·数据科学·highcharts·ai可视化
是罐装可乐3 小时前
SPA首屏接口过多导致卡顿?一套前端请求调度方案彻底解决
前端·性能优化·spa·前端架构·请求队列
子豪-中国机器人3 小时前
python AI自动化
java·前端·python
JavaPub-rodert3 小时前
Codex GPT-5.4 使用教程(命令大全版)
前端·chrome·gpt·codex
农夫山泉不太甜4 小时前
Expo插件开发完全指南:原理剖析与实战进阶
前端
wy3136228214 小时前
Android——组件化实战:Application启动时用ARouter实现跨模块调用
java·前端·spring
程序员阿峰4 小时前
前端3D·Three.js一学就会系列: 第一个3D网站
前端·three.js
DLGXY4 小时前
STM32(二十九)——读写、擦除FLASH
前端·stm32·嵌入式硬件
慧一居士4 小时前
TanStack功能介绍和使用场景,对应 vue,react 完整使用示例
前端·vue.js
新晨4374 小时前
Git跨分支文件恢复:如何将其他分支的内容安全拷贝到当前分支
前端·git