开发者问题收集

Froala React 组件抛出“无法设置未定义的属性‘more_btn’”

2021-06-25
2149

我正在尝试使用 Froala 富文本编辑器的 React 版本

我创建了一个简单的编辑器组件,如下所示

import { string } from 'prop-types'

// note the docs say do this
// import 'froala-editor/js/froala_editor.pkgd.min.js'

// but the advice from froala support is to do this instead
import 'froala-editor/js/plugins.pkgd.min.js'

import 'froala-editor/css/froala_style.min.css'
import 'froala-editor/css/froala_editor.pkgd.min.css'

import FroalaEditor from 'react-froala-wysiwyg'

import { FROALA_KEY } from 'config'

// for Froala options see https://froala.com/wysiwyg-editor/docs/options/
const Editor = ({ placeholderText }) => (
  <FroalaEditor
    tag="textarea"
    config={{
      key: FROALA_KEY,
      autofocus: true,
      attribution: false,
      placeholderText
    }}
  />
)
Editor.propTypes = { placeholderText: string }
Editor.defaultProps = { placeholderText: undefined }

export default Editor

大致基于此代码 codesandbox.io/s/agitated-gauss-9rzbt

在我的组件和代码沙箱中,Froala 包都会引发错误:

Uncaught TypeError: Cannot set property 'more_btn' of undefined

我浏览了很多 他们的示例 ,不明白为什么会出现这个错误,也不知道如何防止它。

知道我错过了什么吗?

2个回答

据 Froala 支持团队称,此问题的修复将在 4.0.4 版本中提供。 与此同时,您可以使用 V4.0: https://codesandbox.io/s/busy-turing-yzon2?file=/src/index.js

Pervaiz Dattoo
2021-06-25

正如 Pervaiz 所述,此问题将在 4.0.4 中修复(根据 Froala)。在此期间,您可以添加:

indexOf: key => Object.keys(this).indexOf(key),

到工具栏按钮对象。

此修复归功于 JeppeKnockaert,请参阅 github 问题 此处

Jelle Scheer
2021-07-27