使用Prismjs在设计系统中显示代码段。
我想将html代码示例分离到一个独立文件中,并将其导入到我的组件中。
代码示例组件:
CodeSampleContainer.jsx
import React, { Component } from 'react';
import Prism from "prismjs";
import './CodeSample.scss';
import '../Shared/prism.css';
// Import separate html file
import { html } './htmlSnippet.jsx';
class CodeSample extends Component {
hasHtmlBlob() {
return (
<pre>
<code className="language-html">
{html} // Any html displayed here will be highlighted by prism
</code>
</pre>
)
}
}
render() {
return (
<div className="CodeSample">
{this.hasHtmlBlob()}
</div>
)
}
}
我要导出的HTML:
htmlSnippet.jsx
const html = `
<div>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>`
return html;
答案 0 :(得分:1)
您的代码中有两个问题:
您应该以“反应方式”代替模板,而不是将模板声明为字符串。
const html = (
<div>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>
);
如果要从htmlSnippet.jsx
导出模板,则应使用export
,而不要使用return
。
export { html };