我正在尝试构建一个本机的天气应用程序,使用像这样的钩子从openweather api中获取数据:
useEffect(() => {
async function fetchWeather() {
try {
let data = await fetch(URL);
const json = await data.json();
dispatch({type: 'success', payload: json});
} catch (error) {
dispatch({type: 'failure'});
}
}
fetchWeather();
}, []);
这只会加载一次数据。我想确保天气信息保持最新。刷新数据的最佳方法是什么?我是否每隔X分钟轮询一次(如果是,则如何)?
答案 0 :(得分:1)
您要在一段时间内调用api吗?
试试吧:
const [isStatus, setStatus] = useState(true)
setInterval(()=> {
setStatus(!isStatus)
}, 3000)
useEffect(() => {
fetchWeather();
}, [isStatus])
我的示例在应用程序打开时适用