2017-08-24 96 views
0

私は反応のためにi18nextを使っていますhttps://github.com/i18next/react-i18next。 JSON言語ファイルの文字列内の行を壊すのに苦労しています。JSON文字列のi18nブレークラインに反応してください

これは、新しい行壊れない私はすでに試した、次のとおりです。

  • line: "This is a line. \n This is another line. \n Yet another line"を、 enter image description here
  • line: ("This is a line."+ <br/> + "This is another line. \n Yet another line")enter image description here
  • line: ('This is a line. <br/> This is another line. \n Yet another line')enter image description here

私は明らかにそれぞれの文の後に改行してみてください。これは私がそれを呼び出す方法です:

<TooltipLink onClick={() => { 
    this.toggleHelpTextDialog(t('test:test.line')); 
}}/> 

アイデアはありますか?ありがとう!

+0

は、この完全コンポーネントに依存します。改行をサポートする場合とサポートしない場合があります。あなたはi18nの翻訳なしでテキストを直接設定しようとしましたか? –

+0

私はテキストを直接設定しましたが、どちらもうまくいきません。私は小道具を介してダイアログのテキストを設定しています。あなたはそれが問題を引き起こすかもしれないと思いますか? – Nocebo

+0

ちょうどこの質問を見て、それはあなたを助けるかもしれません: https://stackoverflow.com/questions/2392766/multiline-strings-in-json – emma93

答えて

1

<br />は正しい方法ですが、本文や翻訳には含まれません。例:

<div> 
    {'my text line 1'} 
    <br /> 
    {'my text line 2'} 
</div> 

ただし、テキスト内の改行(\ n)を維持したい場合は、この使用してdangerouslySetInnerHTMLようにそれを実行します。

const text = "This is a line. \n This is another line. \n Yet another line"; 
<div dangerouslySetInnerHTML={text} /> 
+0

残念なことに私は私のケースでこれを行うことはできません。文字列を設定するだけでなく、コンポーネント全体を設定します。それでも、ありがとう! – Nocebo

関連する問題