我正在构建一个使用 Slate 插件的可配置编辑器组件。这个包使用了一个插件参数,我在定义时遇到了问题。该组件看起来像这样(大大简化):
const ContentEditor = ({
content,
plugins,
}) => {
return (
<SlatePlugins
id={id}
plugins={plugins}
>
...
</SlatePlugins>
)
}
如果我像这样将插件数组传递给组件:
plugins={[
createReactPlugin,
createHistoryPlugin,
createBlockquotePlugin,
createBoldPlugin
]}
使用编辑器时没有任何反应。如果我尝试在将插件对象输入 SlatePlugins 实例之前对其进行初始化:
const usedPlugins = useMemo(() => plugins.map(plugin => plugin()));
我得到错误:TypeError: (destructured parameter) is undefined。如果我尝试传递初始化的插件,也会发生同样的情况:
plugins={[
createReactPlugin(),
createHistoryPlugin(),
createBlockquotePlugin(),
createBoldPlugin()
]}
有没有办法将插件数组传递到包含组件中,以便 Slate 插件可以使用它们?