Удаляется не тот элемент из коллекции React

В родительском компоненте у меня есть метод RemoveElement, который принимает на вход элемент, который нужно удалить.

removeElement(shape) {
    this.setState(
        previousState => ({shapes: previousState.shapes.filter(el => el.props.id !== shape.props.id)}))
}

Этот метод я передаю во вложенный компонент, который его вызывает в своем методе.

removeElement() {
    if (!this.selectedElement) return;

    this.props.onRemoveElement(this.selectedElement);
}

Полю selectedElement присваивается значение в функции setSelectedElementInState, которую я передаю в дочерний элемент этого компонента, где её и вызываю.

setSelectedElementInState(elem) {
    this.selectedElement = elem;
}

Так я её вызываю в дочернем элементе

this.props.setSelectedElementInState(element);

При нажатии на кнопку "Удалить", элемент прекрасно доходит до родительского метода RemoveElement(shape), но строчка удаления элемента из коллекции

this.setState(
        previousState => ({shapes: previousState.shapes.filter(el => el.props.id !== shape.props.id)}))

удаляет совершенно не тот элемент. Это срабатывает, когда в selectedElement назначается один элемент, а потом сразу второй.

В чем может быть проблема? Уже всё перепробовал (включая состояние у компонента, где есть поле selectedElement)


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