[英]How to break line in JSX from javascript string
I have string that I use in JSX我有在 JSX 中使用的字符串
const text = 'Hello World';
and JSX:和JSX:
<p>{text}</p>
How to start new line from World
?如何从
World
开始新行?
I want result:我要结果:
Hello
World
Using separate HTML elements for each line would be a better approach, this requires some css to ensure there vertically, this could look something like the following:为每一行使用单独的 HTML 元素将是更好的方法,这需要一些 css 以确保垂直放置,这可能类似于以下内容:
const Example = () => { const text = 'Hello World'; return <p>{text.split(' ').map(t => <span>{t}</span>)}</p>; } ReactDOM.render(<Example />, document.getElementById("react"));
p { display: flex; flex-direction: column; }
<script src="https://unpkg.com/react@18/umd/react.production.min.js"></script> <script src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script> <div id="react"></div>
Otherwise, we can use split(' ')
and reduce()
to add linebreaks ( <br />
) between each word.否则,我们可以使用
split(' ')
和reduce()
) 在每个单词之间添加换行符 ( <br />
)。
const Example = () => { const text = 'Hello World'; const wrapped = text.split(' ').reduce((prev, cur) => [...prev, cur, <br /> ], []) return <p>{wrapped}</p>; } ReactDOM.render(<Example />, document.getElementById("react"));
p { white-space: pre-line; }
<script src="https://unpkg.com/react@18/umd/react.production.min.js"></script> <script src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script> <div id="react"></div>
<div>{text.split(' ').map( w => <p>{w}</p>)}</div
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.