首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React-query -在组件挂载时重新获取数据

React-query -在组件挂载时重新获取数据
EN

Stack Overflow用户
提问于 2021-10-21 12:35:48
回答 1查看 650关注 0票数 0

是否有一种方法可以在组件挂载时重新获取数据?目前,使用react-router时,如果我在应用程序中导航,它会获取一次数据,然后如果我导航离开并返回,数据仍然是旧的,而不是新的请求?

我还没有将fetch调用包装在useEffect中。

代码语言:javascript
复制
const fetchInfo = async () => {
        const res = await fetch(`/api/${id}`);
        return res.json();
    };

    const { data, status } = useQuery('tableInfo', fetchInfo, {
        staleTime: 5000,
    });

使用as:

代码语言:javascript
复制
{status === 'error' && (
                <div className="mt-5">Error fetching data!</div>
            )}
            {status === 'loading' && (
                <div className="mt-5">Loading data ...
                   
                </div>
            )}
            {status === 'success' && (
                <div className="mt-5">
                    <p>Result will be here</p>
                </div>
            )}
EN

回答 1

Stack Overflow用户

发布于 2021-10-21 13:21:12

使用您的设置,如果您获取数据,移动到另一个视图并返回(至少5秒后),它将重新获取-如果您导航并在这5秒之前返回-它应该不会。

如果您认为数据不会随着时间的推移而变得陈旧(或不会很快),则将staleTime设置为大于5秒(最高可达Infinity),从而防止重新获取数据。

如果您想在每次导航到视图时重新获取数据-根本不要设置staleTime

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69662092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档