Plugins
3 min
vous avez déjà vu comment les comportements des éditeurs slate peuvent être remplacés ces remplacements peuvent également être regroupés dans des « plugins » afin d’être réutilisés, testés et partagés il s’agit de l’un des aspects les plus puissants de l’architecture de slate un plugin est simplement une fonction qui prend un objet éditeur et le renvoie après l’avoir enrichi d’une certaine manière par exemple, un plugin qui marque les nœuds d’image comme « void » const withimages = editor => { const { isvoid } = editor editor isvoid = element => { return element type === 'image' ? true isvoid(element) } return editor } ensuite, pour utiliser le plugin, il suffit de import { createeditor } from 'slate' const editor = withimages(createeditor()) ce modèle de composition de plugins rend slate extrêmement facile à étendre ! fonctions utilitaires en plus des fonctions de plugin, vous pouvez vouloir exposer des fonctions utilitaires utilisées en complément de vos plugins par exemple 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' }, } ensuite, vous pouvez utiliser mon éditeur et myelement partout et avoir accès à toutes vos fonctions utilitaires en un seul endroit