this.props.firstCard返回undefined

时间:2016-12-27 00:56:30

标签: javascript reactjs

我是react.js的新手,我尝试使用math.random数字并将其放在this.props.firstCard属性中,但它返回undefined。我尝试了一些变量,但只有结果是未定义或语法错误。代码:

handleClick() {
let firstCard = this.state.isFirstCardChosen;
function chooseCard() {
  return Math.floor(Math.random() * (80 - 1) + 1);
}
if (firstCard == false) {
  this.props.firstCard = chooseCard;
  console.log(this.props.firstCard);
}
}

这个有什么问题?提前致谢。

2 个答案:

答案 0 :(得分:0)

我会冒险猜测并建议

<强> 如果:

问题不仅仅是因为你试图改变道具(props are immutable)而造成的。

<强>

您正在使用ES2015类语法

然后

问题可能是因为您的handleClick方法未正确绑定到组件状态,因此对this.props的调用将返回{{ 1}}。

要解决此问题,您可以按如下方式绑定构造函数中的undefined

handleClick

答案 1 :(得分:0)

正如其他人所说,道具是不可改变的。还要确保正确设置道具并在构造函数中绑定handleClick函数,即:

constructor(props) {
    super(props);
    his.handleClick = this.handleClick.bind(this);
}