У меня есть несколько входов, где пользователь заполняет эти входы числами. Мне нужен способ суммировать значения этих входов, когда пользователь вводит данные на любом входе.
Мой код
const [values,set_values] = useState({
sales:'',
bank_deposit:'',
supply:'',
expenses:''
})
const values_handler = (e) => {
let name= e.target.name;
let value= e.target.value;
values[name]=value;
set_values(values)
// Calling the method to sum the value
calc_total(value)
}
const [total,set_total]=useState(0);
const calc_total = (value) => {
total +=value;
set_total(total)
}
<input type='number' onChange={value_handler} name='sales' />
<input type='number' onChange={value_handler} name='bank_deposit' />
<input type='number' onChange={value_handler} name='supply' />
<input type='number' onChange={value_handler} name='expenses' />
Проблема
Проблема в том, что значения суммируются каждый раз, когда значение ввода получает изменение, так что, если пользователь вводит 15, он суммирует 1, затем 5, поскольку метод выполняется, когда происходит изменение в значение ввода.