1
resposta

Remover elemento do array que está no state

Boa tarde, mestre! Então, queria saber como remover um elemento dentro de um array que está no state... ex: this.state = {todos: []}

Dentro de todos eu tenho objetos que vem da minha api rest... sei que pra excluir do array se usa o splice, porém não to conseguindo pegar o index dele pra fazer as comparações... Poderia me dar um exemplo basico de como eu faria isso?

Esse é a parte do map que lista tudo e tem o button que referencia ao metodo de pagar...

<ul>
          {this.state.todos.map(res => (
            <div key={res.id}>
              <li>{res.nome}</li>
              <button onClick={this.apagar}>Apagar</button>
            </div>
          ))}
        </ul>
1 resposta

Sera que não daria para fazer assim ?

Pega o objeto com o index desejado.

 var i = this.state.listCarro.findIndex(x => x.id === this.state.carro.id);

Pega a lista para fazer a alteração antes de colocar no State:

    var listCar = [...this.state.listCar];

Remove da lista:

  listCar.splice(i, 1);

Coloca no State a lista com a alteração:

 this.setState({ listCar});

Espero que te ajude.