Use cache
This commit is contained in:
@@ -21,8 +21,6 @@ const fetchWeekForecastData = async function (dateTime, cb) {
|
||||
|
||||
const data = await Promise.all(forecastRequests);
|
||||
|
||||
console.log(data);
|
||||
|
||||
const chartData = data.map((forecastData) => {
|
||||
const dayData = forecastData.forecast.forecastday[0];
|
||||
const date = dayData.date;
|
||||
@@ -52,14 +50,13 @@ const WeatherChart = function ({ data }) {
|
||||
);
|
||||
};
|
||||
|
||||
export const Dashboard = function ({ state, updateCache }) {
|
||||
export const Dashboard = function ({ state, updateState }) {
|
||||
const [dateTime, setDateTime] = useState(
|
||||
minDate(state?.options?.startDate || new Date()),
|
||||
);
|
||||
const [data, setData] = useState(null);
|
||||
|
||||
useEffect(() => {
|
||||
fetchWeekForecastData(dateTime, setData);
|
||||
fetchWeekForecastData(dateTime, (data) => updateState({ dataCache: data }));
|
||||
}, [dateTime]);
|
||||
|
||||
return (
|
||||
@@ -68,7 +65,7 @@ export const Dashboard = function ({ state, updateCache }) {
|
||||
<h1 className="text-lg font-medium mb-2">Forecast</h1>
|
||||
<ForecastDatePicker dateTime={dateTime} onChange={setDateTime} />
|
||||
</div>
|
||||
{data ? <WeatherChart data={data} /> : "Loading..."}
|
||||
{state.dataCache ? <WeatherChart data={state.dataCache} /> : "Loading..."}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user