Open1
フロントエンド勉強メモ
\n
が含まれた文字列を改行して画面に表示する
Reactで方法1: CSSで対応する
export default function Home() {
const text = 'aaa\nbbb\nccc';
return (
<div style={{whiteSpace: "pre-wrap"}}>{text}</div>
)
}
dangerouslySetInnerHTML
を利用する
方法2: export default function Home() {
const text = 'aaa\nbbb\nccc';
return (
// 適切なサニタイズ処理を行うこと
<div dangerouslySetInnerHTML={{__html: sanitize(text.replace(/\n/g, '<br />'))}} />
)
}
方法1がよさそう。方法2だとXSSの脆弱性が発生するので、サニタイズ処理を行うなど注意を払う必要がある。
参考