【发布时间】:2021-01-25 06:35:24
【问题描述】:
我有两个反应输入组件,其中一个输入组件;值更改,我必须在另一个输入字段中设置相同的值。
这是我的两个输入组件。
<div className="col-md-4">
<label htmlFor="saleamount">Payment </label>
<NumberFormat id="manualPaymentEntry" name="manualPaymentEntry" fixedDecimalScale={true} decimalScale={2} value={manualPayEntry.current} className="form-control" thousandSeparator={true} thousandsGroupStyle="lakh" onChange={(values) => {
const { formattedValue, value } = values;
handleManualPaymentEntry(value);
}} />
</div>
<div className="col-md-4">
<label htmlFor="selectedPayment">Actual Payment</label>
<NumberFormat readOnly={true} fixedDecimalScale={true} decimalScale={2} value={cumulativePay} className="form-control" thousandSeparator={true} thousandsGroupStyle="lakh" />
</div>
</div>
当manualPaymentEntry 发生变化时,我必须将相同的值设置为cumulativePay
const [cumulativePay, setCumulativePay] = useState(0);
const manualPayEntry = useRef(0);
useEffect(() => {
setCumulativePay(manualPayEntry.current);
}, [manualPayEntry]);
const handleManualPaymentEntry = (value) => {
let val = parseFloat(value);
manualPayEntry.current = value;
}
我使用manualPayEntry 的useRef 将当前值设置为cumulativePay,但是当manualPayEntry 发生变化时,它不会将值设置为cumulativePay,我总是只得到'0'... ,但manualPayEntry 的当前值应该反映在cumulativePay 中
【问题讨论】:
标签: reactjs react-native use-ref