共有3个数字输入字段:a,b和c。
当用户编辑“ a”或“ b”时,“ c”应计算为a * b。
编辑“ c”后,请查看哪个字段最近被编辑:
如果“ a”,则“ b” = c / a
如果“ b”则“ a” = c / b
以下工作代码允许编辑a,b和c。
如果编辑了c,我不知道如何实现计算a或b。
import React,{ useState } from 'react';
const Calc = () => {
const [values,setvalues] = useState( { a: 3,b: 2,c: 6 });
const handleChange = (e) => {
const { name,value } = e.target;
setvalues({ ...values,[name]: value });
};
return (
<div>
<div classname="row">
<label htmlFor="a">a</label>
<input type="number" id="a" name="a" onChange={handleChange} value={values.a} />
</div>
<div classname="row">
<label htmlFor="b"> b </label>
<input type="number" id="b" name="b" onChange={handleChange} value={values.b} />
</div>
<div classname="row">
<label htmlFor="c"> c </label>
<input type="number" id="c" name="c" onChange={handleChange} value={values.c} />
</div>
</div>
);
};
要进行乘法运算,我将其添加到handleChange()的末尾
if (name === 'a') {
setvalues({ ...values,a: value,c: value * values.b });
}
if (name === 'b') {
setvalues({ ...values,b: value,c: value * values.a });
}
但是我不知道在编辑“ c”时如何计算“ a”或“ b”,因为我需要根据这两个之间的最后一个编辑事件来决定需要计算哪个字段“ a”或“ b”