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
是內聯的。
添加回答
舉報