Percebi que o código não funcionava, ao clicar no botão nada acontecia. Quando inspecionei descobri que não funcionava pois o index estava sendo impresso no console como a linha inteira da tabela. Logo, não iria funcionar já que uma linha nunca vai ser igual a um número inteiro. Mas não consegui descobrir o porquê do index estar sendo impresso assim.
App.js
// resto do código
removeAutor = index =>{
const {autores} = this.state;
this.setState(
{
autores: autores.filter((index, posAtual)=>{
console.log(index, posAtual);
return posAtual !== index;
}),
}
);
}
render() {
return (
<div className="App">
<Tabela autores = { this.state.autores } removeAutor = {this.removeAutor}/>
</div>
);
}
}
export default App;
Tabela.js
// resto do código
removeAutor = index =>{
const {autores} = this.state;
this.setState(
{
autores: autores.filter((index, posAtual)=>{
console.log(index);
return posAtual !== index;
}),
}
);
}
render() {
return (
<div className="App">
<Tabela autores = { this.state.autores } removeAutor = {this.removeAutor}/>
</div>
);
}
}
export default App;
```