У меня есть две практически одинаковые функции, за исключением некоторых логических значений и одного оператора if
:
const checkboxSelectAll = (event: any) => {
const { checked } = event.target;
let items: number[] = [];
if (checked) {
for (let i = 0; i < itemData.length; i++) {
items = [...items, parseInt(itemData[i].id)];
}
}
setState(
{
...state,
areAllSelected: checked,
isChecked: checked,
selectedItems: items,
}
);
}
const selectAllItems = (event: any) => {
const { checked } = event.target;
let items: number[] = [];
for (let i = 0; i < itemData.length; i++) {
items = [...items, parseInt(itemData[i].id)];
}
setState(
{
...state,
areAllSelected: true,
isChecked: true,
selectedItems: items,
}
);
}
После срабатывания checkboxSelectAll
результат console.log(selectedItems)
является чем-то как [2348, 2349, 2350, 2351]
. Но после запуска selectAll
результат console.log(selectedItems)
- это просто пустой массив []
.
Я очень смущен. Код выглядит так, как будто он должен работать так же. Чего мне не хватает?