Удаляется не тот элемент из коллекции 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)