【发布时间】:2019-11-12 14:48:52
【问题描述】:
我知道以前有人问过这个问题,但它似乎对我不起作用,因为我想做的是在没有 onClick 功能的情况下显示 price。
我正在根据 planType 和计费设置price。
代码如下:
this.state = {
planType: "", //populated through componentDiDMount
billing: "", //populated through componentDiDMount
price: 0
};
}
renderPrice() {
if (
this.state.billing === "Monthly" &&
this.state.planType === "Start-Up Plan"
) {
this.setState({
price: this.state.total_invoice + 35
});
}
}
render() {
return <div>You will be charged {this.renderPrice()}</div>;
}
【问题讨论】:
-
不能在渲染函数中调用
setState -
你的
values是来自props吗?如果是这样,您可以使用类构造函数初始化您的状态。 -
类构造函数
-
您的代码可以通过对象解构进一步优化。你也可以先声明你的变量,然后在调用
setState之前使用条件检查更新变量,这样你就不必多次写setState,更容易阅读! -
你能给我举个例子吗?
标签: reactjs