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}
/>
我在设置 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}
/>