如何在输入的 onChange 事件中获取旧值?
How can I get old value in input's onChange event?
我在 React 中定义了一些输入。我正在为他们的 onChange
函数分配一个函数。我可以找到当前值。如何以最简单的方式获取旧值?
之所以要这个是因为我想求出这个新值和旧值的比值,做一些运算。
示例代码:
let onChange = (e) => {
let newValue = e.target.value; // let oldValue = will be here
}
<Input type="number" onChange={onChange }></Input>
如果组件状态不需要旧值,使用如下的ref,可以改变它的初始值
const oldValueRef = React.useRef(0)
let onChange = (e) => {
const oldValue = oldValueRef.current;
let newValue = e.target.value; // let oldValue = will be here
// after everything
oldValueRef.current = e.target.value;
}
<Input type="number" onChange={onChange }></Input>
你可以使用状态来做:
const [state, setState] = useState("");
let onChange = (e) => {
let oldValue = state;
let newValue = e.target.value;
setState(newValue)
// your logic
};
<Input type="number" value={state} onChange={onChange}></Input>;
我在 React 中定义了一些输入。我正在为他们的 onChange
函数分配一个函数。我可以找到当前值。如何以最简单的方式获取旧值?
之所以要这个是因为我想求出这个新值和旧值的比值,做一些运算。
示例代码:
let onChange = (e) => {
let newValue = e.target.value; // let oldValue = will be here
}
<Input type="number" onChange={onChange }></Input>
如果组件状态不需要旧值,使用如下的ref,可以改变它的初始值
const oldValueRef = React.useRef(0)
let onChange = (e) => {
const oldValue = oldValueRef.current;
let newValue = e.target.value; // let oldValue = will be here
// after everything
oldValueRef.current = e.target.value;
}
<Input type="number" onChange={onChange }></Input>
你可以使用状态来做:
const [state, setState] = useState("");
let onChange = (e) => {
let oldValue = state;
let newValue = e.target.value;
setState(newValue)
// your logic
};
<Input type="number" value={state} onChange={onChange}></Input>;