フェッチを使用してAPIからデータを取得し、それを使用してReactコンポーネントを作成する方法を理解しようとしています。私はこれがデータを検索、保存、使用する正しい方法であるかどうか、あるいは私が気づいていない別の方法がある場合は混乱します(私は州とマウントに関するドキュメントで何かを読んでいますが、その周り。フェッチを使用したReactのデータスコープ
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'))
あなたは私がこの概念を理解するのに役立ちます任意のリソースに私を指摘することができれば私は幸いです。事前にありがとうございます。
フィンバーを、あなたが勝者です。私はプロジェクトをダウンロードしており、すぐに質問を投稿します。前もって感謝します。 –
こんにちはFinbarr、あなたが何をしたのか理解できますか?私はコードのいくつかの部分について少し不明です。コメントは次のとおりです。[Gist code](https://gist.github.com/didacus/c674046632f05cf79500de4df9584b7d) –
コメントに応じて、私のgithubリポジトリのApp.jsに新しいコミットを追加しました。うまくいけば、クロスオリジンリソース共有(CORS)、約束とjavascriptのインポート、文字列補間、三項式などを理解/学ぶための興味深い概念があります。私の言うことの一つは、自分のコードがまったく堅牢ではないということです。通常、同じAPIレスポンスデータを使用する必要がある複数のコンポーネントがあるとしたら、反応コンポーネントでそのようなフェッチを行うことはありません。すべてのフェッチを処理するfetcherモジュールと、コンポーネントに状態を渡すために使用するflux/redux –