1 回答
TA贡献1802条经验 获得超4个赞
code
默认情况下,该元素未预先格式化。您可以将其中一种white-space
样式应用于它,也可以将其放入pre
元素中。
不过,我认为您会很难以有用的方式呈现选项卡。在输出之前,您可能希望将它们扩展到作者使用的任何制表位。
使用示例<pre><code>...</code></pre>
:
const Example = () => {
const code =
`
import React from 'react';
class Foo extends React.Component {
constructor() {
super();
}
}`;
return (
<div>
<h1>Classes</h1>
<h2>Classes</h2>
<pre><code>{code}</code></pre>
</div>
);
}
ReactDOM.render(<Example/>, document.getElementById("root"));
<div id="root"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.10.2/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.10.2/umd/react-dom.production.min.js"></script>
使用white-space
样式的示例:
const Example = () => {
const code =
`
import React from 'react';
class Foo extends React.Component {
constructor() {
super();
}
}`;
return (
<div>
<h1>Classes</h1>
<h2>Classes</h2>
<code className="block">{code}</code>
</div>
);
}
ReactDOM.render(<Example/>, document.getElementById("root"));
.block {
display: block;
white-space: pre;
}
<div id="root"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.10.2/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.10.2/umd/react-dom.production.min.js"></script>
我也包括在内,display: block
因为默认情况下code
是内联的。
添加回答
举报