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;
```