javascript - Ionic React Uncaught TypeError:赋值给常量变量
问题描述
此代码用于计算在 react JS 更新之前用于在类组件中工作的价格。现在我使用 useState 而不是 this.state 并且我无法让我的旧代码正常工作。我主要是很难设置状态值并在检查价格功能中使用它们。
我也收到一个错误:
未捕获的类型错误:分配给常量变量.......basePrice += basePrice * (percentage / 100)
如果有人能指出我正确的方向,将不胜感激!谢谢你!!
旧代码
checkPrice = () => {
debugger;
if(this.state.packageSelected === "one"){
this.state.basePrice = 159.998;
}else if(this.state.packageSelected === "two"){
this.state.basePrice = 416.998;
}else if(this.state.packageSelected === "three){
this.state.basePrice = 199.998;
}else if(this.state.packageSelected === "four"){
this.state.basePrice = 249.998;
}else if(this.state.packageSelected === "five"){
this.state.basePrice = 299.998;
}else if(this.state.packageSelected === "six"){
this.state.basePrice = 559.998;
}if(this.state.propertySqft > 2500){
let overage = this.state.propertySqft - 2000;
let percentage = Math.floor(overage / 500) * 10;
this.state.basePrice += this.state.basePrice * (percentage / 100);
}
this.setState({ totalPrice: Math.round(this.state.basePrice * 100) / 100 });
}
新代码
function checkPrice() {
debugger;
if(packageSelected === "one"){
setBasePrice(159.998);
}else if(packageSelected === "two"){
setBasePrice(416.998);
}else if(packageSelected === "three"){
setBasePrice(199.998);
}else if(packageSelected === "four"){
setBasePrice(249.998);
}else if(packageSelected === "five"){
setBasePrice(299.998);
}else if(packageSelected === "six"){
setBasePrice(559.998);
}if(propertySqft > 2500){
let overage = propertySqft - 2000;
let percentage = Math.floor(overage / 500) * 10;
basePrice += basePrice * (percentage / 100);
}
setTotalPrice(Math.round(basePrice * 100) / 100);
}
解决方案
推荐阅读
- node.js - Express:匹配url中语言代码的路由
- jackson2 - Jackson JsonProperty 未应用
- xml - 仅在根节点添加前缀 NS0
- php - 函数爆炸不适用于“+”字符
- java - 嵌套异常是 java.lang.VerifyError: Bad return type + getProfiler()Lcom/orientechnologies/common/profiler/OProfiler;@4: 转
- angular - 虚拟列表中的反应式表单行为不稳定
- android-gradle-plugin - 为什么 Android Studio 不运行 gradle?
- android - 谷歌地图 - 膨胀 SupportMapFragment 时出错
- java - 为什么仅通过更改 ConcurrentHashMap 中的键值来输出差异
- uml - 混淆的内部和外部用例图