How can I use whiteSpace: "pre-wrap" style in React
I have a div that should display text using a space format
render() { <div style={{whiteSpace: 'pre-wrap'}} keep formatting keep spaces </div> }
JSXcollapses spaces, in which case you can use dangerouslySetInnerHTMLso
JSX
dangerouslySetInnerHTML
var Component = React.createClass({ content() { const text = ` keep formatting keep spaces `; return { __html: text }; }, render: function() { return <div style={{ whiteSpace: 'pre-wrap' }} dangerouslySetInnerHTML={ this.content() } /> } });
Note. . For new versions of React / JSX there is no need to usedangerouslySetInnerHTML
const App = () => ( <div style={{ whiteSpace: 'pre-wrap' }}> {` keep formatting keep spaces keep spaces `} </div> ); ReactDOM.render(<App />, document.getElementById('root'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> <div id="root"></div>
dangerouslySetInnerHTML, .:) , , React, , :
text.split("\n").map((text, i) => i ? [<br/>, text] : text)
, <MultilineText text={text}/>.
<MultilineText text={text}/>
CodePen.
whiteSpace , , .
whiteSpace