React tinymce 将变量设置为内容参数时出现问题

React tinymce troubles with setting variable to content parameter

我在设置 npm react tinymce 时遇到问题。版本 3.10.10。 问题是,在我安装包并添加我的组件后,有一个名为 content 的参数,我应该在其中插入我的数据。而且不知何故它只需要一个字符串值。如果我试图将它设置为一个变量或表达式,它什么都不做,控制台中也没有错误。以前有人遇到过同样的问题吗?这是我如何尝试设置我的组件的简短示例:

<TinyMCE
  content = {this.state.text}
            onChange={this.handleEditorChange}
/>

在那种情况下,它显示空白的编辑器。 这是它如何正确工作的示例:

<TinyMCE
 content = 'Any string will display the text correctly'
            onChange={this.handleEditorChange}
/>

我遇到了同样的问题,终于弄明白是什么问题了。传递给组件的值是原始值。一旦接收到,组件将接管并处理内容状态,无论是否有新值传递给它。因此,如果您要传递一个字符串,那么它就是一个常量,并且它存在于您的组件的初始渲染中。但是,如果您要传递一个变量,则变量的初始值可能与您要显示的值不同(比如它可能为 null 或未定义,直到您的组件接收到要显示的值)。在我的例子中,我收到一个包含页面内容的对象,其中之一是要显示为初始内容的 html 。但是 render 方法首先被一个空对象触发,然后是带有数据的实际对象。我为解决此问题所做的工作是为我的微型 mce 包装器设置一个键,其值为我的对象 ID。

<TinyMCE
    key={customPageData.id} // this line made the trick
    content={customPageData.body}
    config={{
        plugins: "link image lists print preview",
        toolbar:
            "undo redo | bold italic | alignleft aligncenter alignright | bullist numlist",
    }}
    onChange={handleEditorChange}
/>