像span一样反应原生文本

Way*_*ang 16 react-native

我试图在模拟显示中遵循解决方案:在React Native中内联,但它不起作用.

我想像HTML一样做同样的事情

第一行很短,所以似乎没有问题,但第二行内容太长,预计在进入下一行之前填满所有空间.

但我的输出看起来像...... 产量

<View style={styles.contentView}>
    <Text style={styles.username}>{s_username}</Text>
    <Text style={styles.content}>{s_content}</Text>
</View>

contentView: {
    paddingLeft: 10,
    flex: 1,
    flexDirection:'row',
    flexWrap:'wrap'
},
username: {
    fontWeight: 'bold'
},
content: {

}, 
Run Code Online (Sandbox Code Playgroud)

Rya*_*ull 30

Reacted native支持嵌套 Text 组件,您必须使用它来获得所需的结果.EG你应该让第二个文本组件嵌套在你的第二个文本组件中,就像这样

<View style={styles.contentView}>
    <Text>
        <Text style={styles.username}
              onPress={() => {/*SOME FUNCTION*/} >
           {s_username}
        </Text>
        <Text style={styles.content}>{s_content}</Text>
    </Text>
</View>
Run Code Online (Sandbox Code Playgroud)

  • 使用 &lt;Text&gt; 包装其他 &lt;Text&gt; 组件会导致子 &lt;Text&gt; 元素被视为内联 - 这些子元素中的边距等内容将被忽略,并且与将文本元素包装在 &lt;View&gt; 中相比,定位将被抛弃它将其子组件视为块组件。 (2认同)

Moh*_*lil 7

你可以做嵌套文本,因为里面的文本会被认为是像 html 一样的跨度

<View style={styles.contentView}>
  <Text style={styles.content}><Text style={styles.username}>{s_username}</Text> {s_content}</Text>
</View>

contentView: {
  paddingLeft: 10,
  flex: 1,
},
username: {
  fontWeight: 'bold'
},
content: {

}, 
Run Code Online (Sandbox Code Playgroud)