Понякога искаме да изтрием елемент от масив от състояния в компонент на React.

В тази статия ще разгледаме как да изтриете елемент от масив от състояния в компонент на React.

Изтриване на елемент от масив със състояние в компонент на React

Можем да върнем нов масив в рамките на обратното извикване на функцията за настройка на състояние, за да променим масива на състоянието на React компонент.

Например, можем да напишем:

import React, { useState } from "react";
export default function App() {
  const [names, setNames] = useState(["jane", "john", "james"]);
  return (
    <div className="App">
      <button
        onClick={() =>
          setNames((names) => names.filter((_, i) => i !== names.length - 1))
        }
      >
        delete
      </button>
      <div>{names.join(", ")}</div>
    </div>
  );
}

Имаме масива със състояния names, който създадохме с useState.

След това имаме бутон, който има onClick prop, зададен на функция, която извиква setNames с обратно извикване, което връща names масива без последния елемент.

Премахваме последния елемент от върнатия масив, като извикваме filter с обратно извикване, което проверява дали i не е names.length — 1.

Това ще актуализира масива names с масива, върнат от filter.

И под това изобразяваме names записите в низ.

Сега, когато щракнем върху бутона, виждаме премахнато фамилното име в низа.

Заключение

Можем да върнем нов масив в рамките на обратното извикване на функцията за настройка на състояние, за да променим масива на състоянието на React компонент.