ReactJSとJSの使用を開始したばかりですが、APIHelper.jsから取得したJSONをApp.jsxのsetState dairyListに戻す方法はありますか?ReactJS componentDidMountとFetch API
私はReactやJS、あるいはその両方について基本的な何かを理解していないと思います。 dairyListの状態は、FacebookのReact Dev Toolsでは定義されません。 fetch
以来
// App.jsx
export default React.createClass({
getInitialState: function() {
return {
diaryList: []
};
},
componentDidMount() {
this.setState({
dairyList: APIHelper.fetchFood('Dairy'), // want this to have the JSON
})
},
render: function() {
...
}
// APIHelper.js
var helpers = {
fetchFood: function(category) {
var url = 'http://api.awesomefoodstore.com/category/' + category
fetch(url)
.then(function(response) {
return response.json()
})
.then(function(json) {
console.log(category, json)
return json
})
.catch(function(error) {
console.log('error', error)
})
}
}
module.exports = helpers;
を必要とするすべての要素を持つ配列[1041]も、文法的に正しい、あなたの 'APIHelper.js'ファイルですか?あなたがそれを修正した後、別のもの: 'APIHelper.fetchFood'は非同期です。 – zerkms
@zerkmsありがとうございます。ちょうどfetchFoodの閉じ括弧がvar urlの後にあることに気付きました。データを取得し、応答を待ってからそこに行くより良い方法はありますか? – Nikkawat