【问题标题】:React Native - how to trim a stringReact Native - 如何修剪字符串
【发布时间】:2017-04-25 00:55:15
【问题描述】:

我想删除字符串开头和结尾的空格。例如,给定一个字符串“Test”,我想接收“Test”。我已经尝试过 JavaScript 的方法和一些 npm 库,但它们似乎不适用于 React Native?有什么想法吗?

【问题讨论】:

  • " Test ".trim() ?
  • 是否有任何错误被抛出?你在项目的什么地方调用了这个方法?
  • 试试 String.prototype.trim.call(your_str)。
  • 我这样使用它:<TextInput ref="email" placeholder="E-mail" style={styles.input} onChangeText={email => this.setEmail({email})} /> . . . setEmail = (email) => { this.setState(email.trim(), function(){ this.validate(); }); }

标签: javascript android node.js npm react-native


【解决方案1】:

问题在于您的 setEmail 调用和您使用的 ES6 语法。当你这样做时:

email => this.setEmail({email})

转译器将其转换为以下内容:

email => this.setEmail({email: email})

当然是对象。

然后,在函数内部,您尝试将trim 函数应用于对象,这当然会导致失败。试试这个:

email => this.setEmail(email)

您可以阅读更多关于对象字面量的 ES6 语法here

【讨论】:

【解决方案2】:

如果你要修剪的字符串是一个状态,并且你想修剪空格,而不是渲染整个页面,那么你可以直接这样做:

this.state.text = this.state.text.trim()

【讨论】:

    【解决方案3】:

    trim 只清理空格。如果要全部清理,包括tabs、nbsp等,可以使用这个:

    "\u2007 TEST \t\n".replace(/^\s+|\s+$/g, ""); // "TEST"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-22
      • 2017-03-20
      • 2022-01-01
      • 2012-12-21
      • 2020-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多