2016-11-04 6 views
0

Ich versuche, in ReactJS jedes /n zu einem <br>-Tag zu ersetzen. In meinem note.note Objekt gibt es eine Zeichenfolge mit mehreren /n drin.Wie ersetzen/n Zeilenumbrüche in react.js?

Beispiel note.note:test\ntest\ntest

Was ich in ReactJS versucht:

{ 
    note.note.split('\n').map(function(item, idx) { 
    return (
     <span key={idx}> 
      {item} 
      <br/> 
     </span> 
    ) 
    }) 
} 
+0

Können Sie das klären „funktioniert nicht "? Scheint, wie Ihre Logik ist Klang: https://jsfiddle.net/sn2qkgzs/1/ – CodingIntrigue

Antwort

3

Ihr Code funktioniert gut:

{ 
    note.note.split("\n").map(function(item, idx) { 
     return (
      <span key={idx}> 
       {item} 
       <br/> 
      </span> 
     ) 
    }) 
} 

HINWEIS:

Die OP Problem war, mit dem Backend, die \\n und zeigt als \n in den XHR preview Registerkarte gibt

+0

ja scheint, wie zu ersetzen einfacher/Reiniger wäre, als es bis Aufspalten und es – Jayce444

+1

@ Jayce444 Es ist die allgemein verwendete Art und Weise zu tun, einen vollständigen Zusammenbauen ersetzen in Javascript 's.split ("\ n"). join ("
")', zum Beispiel – Archer

+0

Was ist der Unterschied mit meiner Methode hier? das einzige, was ich anders sehe, ist der .text after note.note? –

0

Einen anderen Ansatz:

{ 
    note.note.split('\n').map((item, idx) => { 
     return (
      <span key={idx}> 
      {item} 
      <br/> 
      </span> 
     ); 
    }) 
}