я хочу изменить индекс на основе изменения пользователем в поле ввода min_value или max_value
у меня это в состоянии
sensitiveValues: {
TOTAL_ASSETS: [0, 1416758841]
}
это мое поле ввода
<NumberFormat
className="grey-form input-padding"
defaultValue={parseFloat(max_value).toFixed(0)}
thousandSeparator={true}
value={this.state.sensitiveValues[name] ? parseFloat(this.state.sensitiveValues[name][1]) : 0}
onChange={this.amountInputChangeHandler}
id={`${name}-max_value`}/>
и эта функция onChange, которая должна изменять индекс 0 или индекс 1 TOTAL_ASSETS в зависимости от типа. тип - это идентификатор поля ввода.
amountInputChangeHandler = (e) => {
let [key,type] = e.target.id.split('-')
//key === TOTAL_ASSETS
//type === min_value or max_value
// We update first value in array for any key
if(type==='min_value'){
console.log('it goes to min_value')
this.setState({
sensitiveValues: {
...this.state.sensitiveValues,
[key]: [parseFloat(e.target.value.replace(/,/g, '')), this.state.sensitiveValues[key][0]]
}
})
}
// We update Second value in array for any key
if(type==='max_value'){
console.log('it goes to min_value')
this.setState({
sensitiveValues: {
...this.state.sensitiveValues,
[key]: [parseFloat(e.target.value.replace(/,/g, '')), this.state.sensitiveValues[key][1]]
}
})
}
}
, но всякий раз, когда я пытаюсь изменить значение из поля, он меняет как min_value, так и max_value