首页 > 解决方案 > 对状态和事件值求和

问题描述

我想添加一个状态和一个事件输入值。这就像状态 = 2,输入值 = 1,我期望的结果是 3。但结果不是我期望的,结果是 21。我试过parseInt(), parseFloat(), pkp[index].capaian.value + value.value,但都失败了。结果仍然是string21,其中一些undefine。有什么帮助吗??

handleChange4 = (question, value) => {
const pkp = [...this.state.pkp];
const index = pkp.indexOf(question);
pkp[index] = { ...question };
pkp[index].capaian = pkp[index].capaian + value; //this math summary
this.setState({ pkp });
};

标签: reactjsmathreact-props

解决方案


这就是答案

handleChange4 = (question, value) => {
const pkp = [...this.state.pkp];
const index = pkp.indexOf(question);
pkp[index] = { ...question };
pkp[index].capaian =
  (isNaN(parseInt(pkp[index].capaian)) ? 0 : parseInt(pkp[index].capaian)) +
  (isNaN(parseInt(value)) ? 0 : parseInt(value)); //this math summary
pkp[index].capaian = String(pkp[index].capaian);
this.setState({ pkp });
};

推荐阅读