您可以使用dangerouslysetinnerhtml
, React中的特殊HTML属性:
dangerouslySetInnerHTML
是React的替代品innerHTML
在浏览器DOM中。通常,从代码中设置HTML是有风险的,因为很容易在不经意间将用户暴露给cross-site
scripting (XSS) 袭击因此,您可以直接从React设置HTML,但您必须键入dangerouslySetInnerHTML
并用__html
钥匙,提醒自己这很危险。
ES5:
wp.element.createElement( \'div\', {
dangerouslySetInnerHTML: {
__html: \'<b>HTML</b> here\'
}
} );
const createMarkup = ( html ) => { return { __html: html } };
const my_element = <div dangerouslySetInnerHTML={ createMarkup(\'<b>HTML</b> here\') }></div>;
或在古腾堡,您可以使用
wp.element.RawHTML()
这与上面的代码片段基本相同。
ES5:
wp.element.RawHTML( {
children: \'<b>HTML</b> here\'
} );
import { RawHTML } from \'@wordpress/element\';
const my_html = \'some dynamic <b>HTML</b> here!\';
const my_element = <RawHTML>{ my_html }</RawHTML>;