Ich habe symfony Rest api und ich schreibe einige Frontend für dieses (1. Mal mit react). So, hier ist mein index.js:Get und rendern Array aus Rest api, Reagieren
import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import axios from 'axios';
class App extends Component {
constructor(props) {
super(props);
this.state = {
visits: []
};
}
componentDidMount() {
const url = 'http://localhost/app.php/api/visits?from=2017-05-05&to=2017-05-08';
axios.get(url)
.then(response => response.json())
.then(
visits => this.setState({visits})
).catch(err => err)
}
render() {
return (
<div>
<ul>
{this.state.visits.map((visit, index) => <li key={index}>{visit}</li>)}
</ul>
</div>
)
}
}
const app = document.getElementById('app');
ReactDOM.render(<App/>, app);
Antwort von api wie folgt aussieht:
{
"2017-05-05": 2,
"2017-05-06": 8,
"2017-05-07": 10,
"2017-05-08": 1,
}
Wie kann ich durch das laufen und auf den Bildschirm drucken? Jetzt bekomme ich keine Fehler, nur Antwort vom Server bekommen, aber nichts auf dem Bildschirm.
Grüße
Ja, mein schlechtes über dieses Array. Ich habe einige Änderungen mit der Anfrage gemacht (geänderte Axios zum Abrufen) und es funktioniert mit deinem Code, danke! :) –
Sie können auch 'Object.entries' verwenden, was eine Liste von' [key, value] 'zurückgibt:' Object.entries (visits) .map (([visit, n], index) =>
@AndreaReina danke für diese einfache Lösung :) –