我想在React Native的文本组件中插入一个新行(如\r\n, <br />)。
如果我有:
<text>
<br />
Hi~<br />
this is a test message.<br />
</text>
然后React Native渲染Hi~这是一个测试消息。
它是可能的渲染文本添加一个新的行像这样:
Hi~
this is a test message.
我想在React Native的文本组件中插入一个新行(如\r\n, <br />)。
如果我有:
<text>
<br />
Hi~<br />
this is a test message.<br />
</text>
然后React Native渲染Hi~这是一个测试消息。
它是可能的渲染文本添加一个新的行像这样:
Hi~
this is a test message.
当前回答
嘿,把它们这样放,这对我很有用!
< div > <p style={{fontWeight: "bold",空格:"pre-wrap"}}> {"} 你好{" \ n "} < / p > {" \ n "} <p>我在这里</p> < / div >
其他回答
如果您要显示来自状态变量的数据,请使用此方法。
<Text>{this.state.user.bio.replace('<br/>', '\n')}</Text>
你还可以:
<Text>{`
Hi~
this is a test message.
`}</Text>
在我看来更简单,因为你不需要在字符串中插入东西;只要换行一次,就能保留所有换行符。
如果你从状态变量或道具中获取数据,Text组件有一个minWidth, maxWidth样式道具。
例子
const {height,width} = Dimensions.get('screen');
const string = `This is the description coming from the state variable, It may long thank this`
<Text style={{ maxWidth:width/2}}>{string}</Text>
这将显示屏幕宽度的50%的文本
简单使用反勾号(es6特性)
解决方案1
const Message = 'This is a message';
<Text>
{`
Hi~
${Message}
`}
</Text>
解决方案2在文本中添加“\n”
<Text>
Hi~{"\n"}
This is a 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- nativenew -break-line-example