¿Cómo puedo dividir una cadena en sus saltos de línea?
El siguiente código funciona bien. Pero estoy buscando una solución diferente sin usar "peligrosamenteSetInnerHTML".
Tal vez alguien lo sepa.
<div> <div dangerouslySetInnerHTML={{__html: String.split("\n").join("<br />")}} </div>
Puede usar CSS para usar white-space: pre; , que respetará los saltos de línea en el texto, dentro del elemento objetivo.
.respect-line-breaks { border: 1px solid #444; white-space: pre; } <div class="respect-line-breaks">This is spread over multiple lines </div>es un ejemplo
También puede usar la etiqueta HTML <pre> , en lugar de un <div> si lo prefiere, lo que niega la necesidad de CSS. <pre> también es compatible con navegadores mucho más antiguos, si eso es algo que necesita.
Sin embargo, una cosa a tener en cuenta es que si más adelante, al desarrollar su aplicación, recorre todos sus elementos <div> , no recogerá los elementos <pre> , por lo que personalmente usaría la solución CSS. , si es posible.
Esto también significa que puede usar algo como una etiqueta <p> , en lugar de un <div> , y mantener todos los estilos de texto normales, etc., en su lugar.