说我有一个班级,我正在提取道具价值
class Body extends React.Component {
render() {
var value = this.props.value.substring(0,2);
这很好用,我得到了我想要的值(它是一个字符串 - 我用typeof函数检查过)。
但是,现在我想获取值的子字符串:
{{1}}
我收到错误消息无法读取null
的属性'substring'有什么想法吗?
答案 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)