Удаление значений в массиве

Интересует следующий момент. В js, я пытаюсь создать массив с числами, добавив в них id с чекбоксов. Массив при выделении чекбокса заполняется, но вот убрать это число из массива не выходит. Если выходит, то повторять действия нужно в том же порядке. В чём может быть дело? Заранее спасибо, за дельный совет)

doSomething = (props) => {
    let num = Number(props);
    for (let i = 0; i <= this.state.nums.length; i++) {
        if (num === this.state.nums[i]) {
            this.state.nums.splice(i, 1);
            break;
        } else {
            this.state.nums.push(num);
            break;
        }
    }
    console.log(this.state.nums);
};

Ответы (1 шт):

Автор решения: Qwertiy
  1. Ты меняешь сам state, но при этом не вызываешь ни setState, ни forceUpdate.

  2. Если ты используешь PureComponent, то setState с изменением данных в том же массиве работать не будет всё равно.

→ Ссылка