首页 > 解决方案 > 将插件配置传递给实现 Slate-Plugins 的组件。获取 TypeError:(解构参数)未定义

问题描述

我正在构建一个使用 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 插件可以使用它们?

标签: reactjsslatejs

解决方案


推荐阅读