1
resposta

Sem autores no Select da visão de Livros

O select da visão de livros não está sendo preenchido com os autores. Nenhum erro aparece no console.

Os livros vem na listagem, mas os autores não.

Notei que a chamada ajax para autores não é executada.

// Na classe LivroBox
// autores foi declarado no state do LivroBox
constructor() {
    super();    
    this.state = {lista : [], autores: []};    
  }

// o ajax chamando a api e atualizando o autores do state
  componentDidMount(){  
    $.ajax({
        url:"http://localhost:8080/api/livros",
        dataType: 'json',
        success:function(resposta){    
          this.setState({lista:resposta});
        }.bind(this)
      });          

    $.ajax({
        url: "http://localhost:8080/api/autores",
        dataType: 'json',
        sucess: function (resposta) {
            console.log(resposta);
            this.setState({autores: resposta});
        }.bind(this)
        });    
  }

// render com o componente 
<FormularioLivro autores={this.state.autores} />


// Na classe FormularioLivro
// construindo options
<select name="autorId" id="autorId" onChange={this.setAutorId}>
  <option value="">Selecione autor</option>
     {
       this.props.autores.map(function(autor){
         return (<option value={autor.id}>{autor.nome}</option>);
        })
     }
</select>
1 resposta

Opa, você chegou a cadastrar os autores?