React Nativeのテキストコンポーネントに新しい行(\ r\n、<br />など)を挿入したいです。
私が持っているならば:
<text><br />
Hi~<br >
this is a test message.<br />
</text>
次にReact NativeがHi~ this is a test message.
をレンダリングします
次のようにテキストをレンダリングして新しい行を追加することはできますか。
Hi~
this is a test message.
私は今それをテストできませんが、これはそれを行う必要があります:
<Text>
Hi~{"\n"}
this is a test message.
</Text>
次のこともできます。
<Text>{`
Hi~
this is a test message.
`}</Text>
あなたが文字列の中にものを挿入する必要がないので、私の意見では簡単です。一度だけそれを包むとそれはすべてのあなたの改行を保持します。
つかいます:
<Text>{`Hi,\nCurtis!`}</Text>
結果:
こんにちは、
カーティス!
これは私のために働きました
<Text>{`Hi~\nthis is a test message.`}</Text>
(反応ネイティブ0.41.0)
状態変数からのデータを表示しているのであれば、これを使用してください。
<Text>{this.state.user.bio.replace('<br/>', '\n')}</Text>
改行として{'\n'}
を使うことができます。こんにちは〜{'\ n'}これはテストメッセージです。
さらに良いことに、もしあなたがstyled-components
を使えば、あなたはこのようなことをすることができます:
import React, { Component } from 'react';
import styled from 'styled-components';
const Text = styled.Text`
text-align: left;
font-size: 20px;
`;
export default class extends Component {
(...)
render(){
return (
<View>
<Text>{`
1. line 1
2. line 2
3. line 3
`}</Text>
</View>
);
}
}
こんな感じで使えます
<text>{`${val}\n`}</text>
また、レンダリングメソッドに定数として追加するだけで再利用が簡単になります。
render() {
const br = `\n`;
return (
<Text>Capital Street{br}Cambridge{br}CB11 5XE{br}United Kingdom</Text>
)
}
次のようにすることができます。
{'アカウントを作成'}
このように ``を使うことができます。
<Text>{`Hi~
this is a test message.`}</Text>
誰かが配列の各文字列に新しい行を追加したいという解決策を探している場合は、次のようにすることができます。
import * as React from 'react';
import { Text, View} from 'react-native';
export default class App extends React.Component {
constructor(props) {
super(props);
this.state = {
description: ['Line 1', 'Line 2', 'Line 3'],
};
}
render() {
// Separate each string with a new line
let description = this.state.description.join('\n\n');
let descriptionElement = (
<Text>{description}</Text>
);
return (
<View style={{marginTop: 50}}>
{descriptionElement}
</View>
);
}
}
実際の例についてはおやつを参照してください。 https://snack.expo.io/@cmacdonnacha/react-native-new-break-line-example