React setState()

Недавно начал практиковать React, однако столкнулся с проблемой удаления записей из списка.

Быть точнее: есть список пользователей, что рендерится на сайте; у каждого блока из этого списка есть опция удаления:

Промис удаления:

const delUserPromise = (id) =>
  new Promise((resolve) => {
    resolve(this.state.users.filter((e) => e.id !== id));
  });

Функция вызова промиса удаления:

delUser = (id) => {
  this.delUserPromise(id).then((arr) => {
    this.setState({ users: arr }, () => {
      console.log(this.state.users);
    });
  });
};

Однако данная опция удаления не работает: возвращается правильный массив пользователей, который должен отобразится на сайте и меняется state, но ничего на сайте не происходит. (На функциях, использующих state, выполнен bind в constructor'e)

Пытался искать что-то связанное с этой темой, но там была проблема в неправильном массиве и т.п., но ответа на свой вопрос так и не нашел. Прошу помощи.


Изначальный вид списка пользователей до удаления

Изначальный вид списка пользователей до удаления

Массив пользователей после нажатия удаления

Массив пользователей после нажатия удаления (console)

Вид списка после удаления

Вид списка после удаления

Users class render func:

render = () => {
  if (this.users.length > 0) {
    return (
      <div>
        {" "}
        {this.users.map((el) => (
          <User delUser={this.props.onDel} key={el.id} user={el} />
        ))}{" "}
      </div>
    );
  } else
    return (
      <div className="user">
        {" "}
        <h3>Пользователей нет</h3>{" "}
      </div>
    );
};

User class render func:

render = () => (
  <div className="user">
    {" "}
    <AiFillCloseCircle
      id="close-icon"
      onClick={() => this.props.delUser(this.user.id)}
    />{" "}
    <MdModeEditOutline id="edit-icon" />{" "}
    <h3>
      {this.user.name} ({this.user.age})
    </h3>{" "}
    <p>Working as a {this.user.job}</p>{" "}
  </div>
);

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