我是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);
}
}
这个有什么问题?提前致谢。
答案 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);
}