x = I love <br /> sports
。在用户界面中,我希望体育内容以换行显示。
我正在使用React JSX组件来实现这一目标。
我也尝试剥离开头的单引号和结尾的单引号。
我不想危险地使用SetInnerHTML。
let x = 'I love <br /> sports'
let y = I love <br /> sports
render() {
return (
<div>
{x} ---- Renders as a string with no line breaks.
</div>
<div>
{y} ---------- Renders sports in a new line.
</div>
);
}
答案 0 :(得分:2)
使用dangerouslySetInnerHTML
可以在JSX中显示HTML标签。这是上述问题的有效解决方案。
class App extends React.Component{
render(){
let x = 'I love <br /> sports';
// let y = I love <br /> sports ;
return(
<div>
<div dangerouslySetInnerHTML={{
__html: x
}} />
</div>
)
}
}
ReactDOM.render(<App /> ,document.getElementById('root'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id='root' />