Ao usar o PubSub no 'AutorBox', é estourado esse erro de sintaxe. Help!
import React, { Component } from 'react';
import InputForm from './components/InputForm';
import Button from "./components/Button";
import $ from 'jquery';
import PubSub from 'pubsub-js';
class CadastroFormularioAutor extends Component {
constructor(){
super();
this.state = {nome: '', email: '', senha: ''};
this.enviaForm = this.enviaForm.bind(this);
this.setNome = this.setNome.bind(this);
this.setEmail = this.setEmail.bind(this);
this.setSenha = this.setSenha.bind(this);
}
enviaForm(event){
event.preventDefault();
$.ajax({
url: "http://127.0.0.1:8080/api/autores",
contentType: "application/json",
dataType: "json",
method: 'post',
data: JSON.stringify({nome: this.state.nome , email: this.state.email, senha: this.state.senha}),
success: function (listaAutores) {
//publicando novos autores, para components que "subscribe" este tópico
PubSub.publish('atualizacao-tabela-autores', listaAutores);
},
error: function (response) {
console.log('erro');
}
})
}
setNome (event){
this.setState({nome: event.target.value});
}
setEmail (event){
this.setState({email: event.target.value});
}
setSenha (event){
this.setState({senha: event.target.value});
}
render() {
return (
<section>
<div className="row">
<div className="col-xs-12 col-sm-12 col-md-12">
<h2 className="text-center text-uppercase">Cadastro de Autores</h2>
</div>
</div>
<div className="row">
<div className="col-md-3"></div>
<form className="form col-md-6" method="POST" onSubmit={this.enviaForm}>
<InputForm
type="text" id="nome" className="form-control" name="nome"
value={this.state.nome} onChange={this.setNome} placeholder="Nome" label="Nome"
/>
<InputForm
type="email" id="email" className="form-control" name="email"
value={this.state.email} onChange={this.setEmail} placeholder="seu@email.com" label="E-mail"
/>
<InputForm
type="password" id="senha" className="form-control" name="senha"
value={this.state.senha} onChange={this.setSenha} placeholder="Senha" label="Senha"
/>
<Button type="submit" className="btn btn-success" value="Salvar"/>
</form>
<div className="col-md-3"></div>
</div>
</section>
);
}
}
export default class AutorBox extends Component {
constructor(){
super();
this.state = {autores: []};
}
componentDidMount(){
$.ajax({
url: 'http://127.0.0.1:8080/api/autores',
dataType: 'json',
method: 'get',
success: function (dados) {
this.setState({autores:dados})
}.bind(this)
})
}
PubSub.subscribe('atualizacao-tabela-autores', function (topico, listaAutores) {
this.setState({autores: listaAutores});
});
render(){
return (
<div>
<CadastroFormularioAutor/>
<TabelaAutores autores={this.state.autores}/>
</div>
);
}
}