正在获取props值的子字符串-React

Getting substring of props value - React

本文关键字:字符串 -React 获取 props      更新时间:2023-09-26

假设我有一个类,我正在提取道具值

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

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

然而,现在我想取一个值的子字符串:

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

我收到一个错误,说无法读取null的属性"substring"

有什么想法吗?

这就是您的默认道具,只需将道具设置为空字符串即可。

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

谢谢JordanHendrix,你的帖子让我意识到了发生了什么。如果我只是通过道具传递字符串,那么子字符串方法可以很好地工作。

但事实上,我有一个ReactiveDict,它可以提取值,跟踪值上的更改,并将它们传递到道具中,因此当页面加载时,一个null对象最初会传递到我的Body Class,直到它更新到正确的值。这个初始null值是导致子字符串方法出错的原因,因此我需要对此进行检查。

检查子字符串之前的prop值是否为null

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