I have some inputs defined in react. I'm assigning a function to their onChange function. I can find the current value. How can I get the old value in simplest way?
The reason I want this is because I want to find the ratio of this new value to the old value and do some operations.
Sample code:
let onChange = (e) => {
let newValue = e.target.value; // let oldValue = will be here
}
<Input type="number" onChange={onChange }></Input>
If the old value is not needed in the component state, use a ref like the following, you can change its initial value
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>
You can use a state to do it:
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>;