1
Hello, I’m starting with Act. I have the following structure
import React, { Component } from "react";
class Dezena extends Component {
render() {
return (
<td
className={
this.props.foiSorteada
? "dezena-em-bola numero-sorteado"
: "dezena-em-bola numero-nao-sorteado"
}
>
{this.props.nuDezena}
</td>
);
}
}
export default Dezena;
import React, { Component } from "react";
import Dezena from "./Dezena";
class Jogo extends Component {
render() {
return (
<div>
<h3>Acertos: {this.props.resultado.nuAcertos}</h3>
<tr>
{this.props.resultado.dezenas.map(dezena => (
<Dezena
key={dezena.nuDezena}
nuDezena={dezena.nuDezena}
foiSorteada={dezena.foiSorteada}
/>
))}
</tr>
</div>
);
}
}
export default Jogo;
import React, { Component } from "react";
import Jogo from "./Jogo";
class Resultado extends Component {
render() {
return (
<div>
<h2>Resultado</h2>
<table className="table table-condensed">
<tbody>
{this.props.resultado.map((resultado, key) => {
return <Jogo resultado={resultado} />;
})}
</tbody>
</table>
</div>
);
}
}
export default Resultado;
import React, { Component, Fragment } from "react";
import axios from "axios";
import Loading from "../componentes/Loading";
import Resultado from "./Resultado";
import retorno from "../cliente/Resultados.json";
class ResultadoList extends Component {
constructor(props) {
super(props);
this.state = {
carregando: true,
resultado: []
};
}
componentDidMount() {
// console.log("Retorno do json > ", retorno)
// this.setState({resultado: retorno, carregando: false })
axios
.get(`http://localhost:8080/mylottery/resultados/lotofacil/1817`)
.then(response => {
console.log("Retorno do servidor > ", response.data);
this.setState({ resultado: response.data, carregando: false });
})
.catch(error => {
console.error(error);
});
}
render() {
return (
<Fragment>
<div className="container">
<Loading
loading={this.state.carregando}
message="Carregando resultado..."
/>
{
<Resultado resultado={this.state.resultado} />
// this.state.resultado
}
</div>
</Fragment>
);
}
}
export default ResultadoList;
commenting on the part
//<Resultado resultado={this.state.resultado}/>
this.state.resultado
if I use direct a mock
[
{
"nuConcurso":1812,
"dtSorteio":"10/05/2019",
"dezenas":[
{
"nuDezena":1,
"foiSorteada":false
},
{
"nuDezena":3,
"foiSorteada":false
},
// ...
],
"nuAcertos":9
},
{
"nuConcurso":1812,
"dtSorteio":"10/05/2019",
"dezenas":[
{
"nuDezena":2,
"foiSorteada":true
},
{
"nuDezena":5,
"foiSorteada":false
},
// ...
],
"nuAcertos":10
},
{
"nuConcurso":1812,
"dtSorteio":"10/05/2019",
"dezenas":[
{
"nuDezena":2,
"foiSorteada":true
},
{
"nuDezena":3,
"foiSorteada":false
},
// ...
],
"nuAcertos":10
}
]
Altering the
componentDidMount() {
// console.log("Retorno do json > ", retorno)
this.setState({resultado: retorno, carregando: false })
/*axios.get(`http://localhost:8080/mylottery/resultados/lotofacil/1817`)
.then(response => {
console.log("Retorno do servidor > ", response.data)
this.setState({resultado: response.data, carregando: false })
}).catch((error) => {
console.error(error);
})
}*/
I don’t know how to fix it, I’ve looked everywhere and nothing
I think your JSON needs parsing. Try
this.setState({resultado: JSON.parse(response.data), carregando: false })
– carla
I followed your suggestion, but unfortunately it did not roll. It gives a syntax error right on the altered line. Syntaxerror: Unexpected token , in JSON at position 936 at Object.parse (<Anonymous>) at Resultadolist.js:25 console. <computed> @index.js:1446
– Alexandre Vieira de Souza