【问题标题】:React Native Ternary OperatorReact Native 三元运算符
【发布时间】:2021-01-28 00:51:33
【问题描述】:

我正在尝试使用三元运算符截断用户名,如果超过一定的字符长度,则添加 ...。我已经尝试了几种方法,但一直回到这个,下面是原始代码和我现在拥有的。

<Text style={styles.userText}>{name}</Text>
<Text style={styles.userText}>
      {name.length > 27 ? name.substr(0, 27)`...` : name} -
    </Text>

我在模拟器中收到的错误是“name.substr(0, 27) is not a function”,我知道但不确定它为什么会返回。

感谢任何反馈和帮助。

【问题讨论】:

  • 如果 name 是字符串,我不确定为什么会抛出这样的错误。但是,如果 name 实际上是一个字符串,请使用它。 `${name.substr(0, 27)}...` 使用字符串文字
  • @OmkarKulkarni 谢谢你的工作!感谢您的帮助!
  • 欢迎您!我将其发布为答案,以便将其添加到我的个人资料中。
  • 非常感谢!

标签: reactjs react-native conditional-statements conditional-operator


【解决方案1】:

感谢@OmkarKulkarni 对解决方案的评论如下:

<Text style={styles.caregiverText}>
      {name.length > 27 ? `${name.substr(0, 27)}...` : name} -
    </Text>

【讨论】:

    【解决方案2】:

    三元运算符应与字符串文字一起使用。这将起作用。

    <Text style={styles.caregiverText}>
      {name.length > 27 ? `${name.substr(0, 27)}...` : name} -
    </Text>
    

    【讨论】:

      猜你喜欢
      • 2019-02-17
      • 2021-12-10
      • 2021-11-20
      • 2021-01-17
      • 1970-01-01
      • 2022-01-04
      • 2021-12-29
      • 2020-10-06
      • 2020-01-05
      相关资源
      最近更新 更多