Należy się tego spodziewać, trzeba by przekonwertować znaki nowego wiersza (\ n) na znaki końca wiersza HTML
Artykuł o używaniu go w React : React Newline to break (nl2br)
Aby zacytować artykuł:
Ponieważ wiesz, że wszystko w React jest funkcjami, nie możesz tego zrobić
this.state.text.replace(/(?:\r\n|\r|\n)/g, '<br />')
Ponieważ zwróciłoby to łańcuch z węzłami DOM w środku, to też nie jest dozwolone, ponieważ musi to być tylko ciąg.
Następnie możesz spróbować zrobić coś takiego:
{this.props.section.text.split(“\n”).map(function(item) {
return (
{item}
<br/>
)
})}
To też jest niedozwolone, ponieważ ponownie React jest czystymi funkcjami i dwie funkcje mogą znajdować się obok siebie.
tldr. Rozwiązanie
{this.props.section.text.split(“\n”).map(function(item) {
return (
<span>
{item}
<br/>
</span>
)
})}
Teraz zawijamy każdy znak końca wiersza w rozpiętości i to działa dobrze, ponieważ rozpiętość ma wbudowany wyświetlacz. Teraz mamy działające rozwiązanie podziału wiersza nl2br