J'essaie de comprendre comment utiliser fetch pour obtenir des données d'une API et l'utiliser pour créer des composants React. Je suis un peu confus si c'est la méthode correcte pour récupérer, stocker et utiliser les données, ou s'il y a une autre façon que je ne pourrais pas être au courant (j'ai lu quelque chose dans les docs sur les états et les montages mais je ne pouvais pas autour d'elle.scope de données dans React using Fetch
JS
//Data
const url = 'https://api.tfl.gov.uk/BikePoint'; // API
fetch(url)
.then((resp) => resp.json()) // Transform the data into json
.then(function(data) {
// How can I make data accessible outside this function?
})
.catch(function(error) {
console.log(JSON.stringify(error));
});
//React
const List = ({items, each}) =>
<div className = "panel panel-default">
<div className = "panel-heading"><h2>Bike points</h2></div>
<div className = "panel-body">
<ul className = "list-group">{items.map((item, key) =>
<ListItem key = {key} item = {each(item)} number={item.commonName}/>)}</ul>
</div>
</div>
const ListItem = ({item, arrival, number}) =>
<li className = "list-group-item">{number}</li>
//How can access the data here?
ReactDOM.render(<List items={data} each={ListItem} />, document.querySelector('#main'))
Je vous serais reconnaissant si vous pouviez me signaler à toute ressource qui peut me Merci comprendre ce concept. aide à l'avance.
Finbarr, vous êtes un gagnant. Je télécharge le projet et je posterai bientôt des questions. Merci d'avance. –
Salut Finbarr, pouvez-vous m'aider à comprendre ce que vous avez fait? Je suis un peu incertain de certaines parties du code. Voici le commenté [code Gist] (https://gist.github.com/didacus/c674046632f05cf79500de4df9584b7d) –
J'ai ajouté un nouveau commit à l'App.js sur mon repo github, en réponse à vos commentaires. Espérons que cela aide, il y a quelques concepts intéressants à comprendre/apprendre au sujet de tels que le partage de ressource d'origine (CORS), les promesses et les importations de javascript, l'interpolation de chaîne et les expressions ternaires. Une chose que je dirais est que mon code n'est pas très robuste du tout, et normalement, vous ne feriez pas une telle extraction dans un composant de réaction, imaginez que vous avez plusieurs composants qui doivent utiliser les mêmes données de réponse d'API. Vous auriez un module fetcher qui gère toutes les extractions, et un magasin d'état tel que flux/redux –