Добрый день, не могу понять в чем проблема с функцией targetSortElement, по сути эта функция должна конкатить и слайсить выбранные чекбоксы, но оно мне все время обнуляет мой массив, и записывает только 1 выбранный элемент в массив, помогите разобраться:
import React, {Component} from "react";
class Products extends Component {
constructor(props) {
super(props);
this.state = {
isChecked: false,
selectedItems: [],
};
this.targetSortElement = this.targetSortElement.bind(this);
}
targetSortElement(e) {
const newSelection = e.target.value;
let newSelectionArray;
if(this.state.selectedItems.indexOf(newSelection) > -1) {
newSelectionArray = this.state.selectedItems.filter(s => s !== newSelection);
} else {
newSelectionArray = [...this.state.selectedItems, newSelection];
console.log(newSelectionArray)
}
this.setState({ selectedItems: newSelectionArray });
}
render() {
return(
<div className="list-view">
<div className="table-list list-invite">
<input key={item.id} s={12} name={item.name} type='checkbox' value={item.name} label=' ' defaultChecked={this.state.isChecked} onChange={(event) => {
this.targetSortElement(event)
}} />
</div>
</div>
)
}
}
export default Products;
Вот что получается:
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости