获取道具值的子串 - React

时间:2016-05-03 02:21:19

标签: javascript reactjs

说我有一个班级,我正在提取道具价值

class Body extends React.Component {
  render() {
     var value = this.props.value.substring(0,2);

这很好用,我得到了我想要的值(它是一个字符串 - 我用typeof函数检查过)。

但是,现在我想获取值的子字符串:

{{1}}

我收到错误消息无法读取null

的属性'substring'

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

这就是default props的用途,只需将你的道具设置为默认的空字符串。

getDefaultProps: function() {
   return {
       value: ''
   };
}

答案 1 :(得分:0)

感谢 JordanHendrix ,你的帖子让我意识到发生了什么。如果我只通过props传入一个字符串,那么substring方法可以正常工作。

但实际上我有一个ReactiveDict,它可以提取值,跟踪它们的变化,并将它们传递给props,因此当页面加载时,一个null对象最初会传入我的 Body Class 直到它更新到正确的值。这个初始的空值是导致子串方法搞砸的原因,所以我需要检查一下。

答案 2 :(得分:0)

检查prop值是否在子字符串之前为空

 this.props.value && this.props.value.substring(0,2)