我正在使用ReactDOMServer.renderToStaticMarkup
以代码块格式将一些HTML代码呈现到静态网页上。
这是我的代码的近似值:
import { html_beautify } from 'js-beautify';
import { renderToStaticMarkup } from 'react-dom/server';
...
render() {
const snippet = html_beautify(renderToStaticMarkup(
<div>
<script>
generateWidget({
buttonSize: 'BUTTON_SIZE',
elementID: 'ELEMENT_TO_INJECT_THE_WIDGET_INTO',
userID: 'ID_OF_USER'
});
</script>
</div>
));
return (
<pre>
<code>
{snippet}
</code>
</pre>
);
}
在我使用{
和}
的转义码之前,我正在从JSX解析器中解析错误,这就是render
函数中存在这些错误的原因。
我的问题是renderToStaticMarkup
用相应的十六进制代码替换代码段中的单引号。输出如下:
...
<script>
karma.generateWidget({
buttonSize: & #x27;BUTTON_SIZE & #x27;,
elementID: & #x27;ELEMENT_TO_INJECT_THE_WIDGET_INTO & #x27;,
userKarmaID: & #x27;KARMA_ID_OF_USER & #x27;
});
</script>
有没有办法摆脱& #x27;
呈现的renderToStaticMarkup
十六进制代码并让它呈现单引号?
请注意,如果我用双引号替换单引号,则& #x27
将替换为& quot;
。