私はhigher-order
コンポーネントの天気を取得するためにopenweathermap APIを呼び出すと、 'Main'コンポーネントがレンダリングされます。しかし、AJAX呼び出しが成功した後、私は次のエラーを取得する:プロミス内で定義されていないエラーが発生しました
TypeError: _getWeather2.default(...) is undefined
コード:
MainContainer.js:
import React from "react";
import getWeather from "../action/getWeather";
import Main from "./Main";
const MainContainer =() => {
// the error is somewhere related to this component
var weather = getWeather("london", "uk")
.then((data) => {
console.log("data in maincontainer is...", data);
return <Main />;
});
}
export default MainContainer;
getWeather.js:
const getWeather = (city, country) => {
let queryPath = `http://api.openweathermap.org/data/2.5/forecast?q=${ city },${ country }&APPID=${ inserytKey }&mode=json`
console.log("queryPath is...", queryPath);
fetch(queryPath)
.then((response) => response.json())
.then((data) => {
console.log("data is...", data);
return data;
})
.catch((err) => {
console.log(err);
})
};
export default getWeather;
私は何をしますか?間違っている?
getWeatherは、[明示的な約束建設アンチパターンとどのように私はそれを避けるんですか?]約束 –