Conceptos
Plugins
3 min
ya has visto cómo se pueden anular los comportamientos de los editores de slate estas anulaciones también se pueden empaquetar en "plugins" para ser reutilizados, probados y compartidos este es uno de los aspectos más poderosos de la arquitectura de slate un plugin es simplemente una función que toma un editor objeto y lo devuelve después de haberlo aumentado de alguna manera por ejemplo, un plugin que marca nodos de imagen como "vacíos" const withimages = editor => { const { isvoid } = editor editor isvoid = element => { return element type === 'image' ? true isvoid(element) } return editor } y luego, para usar el plugin, simplemente import { createeditor } from 'slate' const editor = withimages(createeditor()) ¡este modelo de composición de plugins hace que slate sea extremadamente fácil de extender! funciones auxiliares además de las funciones de plugin, es posible que desees exponer funciones auxiliares que se utilizan junto con tus plugins por ejemplo import { editor, element } from 'slate' const myeditor = { editor, insertimage(editor, url) { const element = { type 'image', url, children \[{ text '' }] } transforms insertnodes(editor, element) }, } const myelement = { element, isimageelement(value) { return element iselement(element) && element type === 'image' }, } luego puedes usar myeditor y myelement en todas partes y tener acceso a todos tus auxiliares en un solo lugar
