我想每 3 秒更新一次,而不使用 react apollo refetch

Posted

技术标签:

【中文标题】我想每 3 秒更新一次,而不使用 react apollo refetch【英文标题】:I want to update every 3 seconds without using react apollo refetch 【发布时间】:2021-11-11 00:04:45 【问题描述】:

我正在使用反应阿波罗。 我想在不使用 apllo 的 refetch 的情况下每 3 秒更新一次进度条组件的 user.percent。

import useInterval from 'beautiful-react-hooks';

const ProgressBar = () => 
  const userId = useParams<userId: string>();
  const data: user = null = , refetch: refetchUser =
    useUserQuery(
      variables: uuid: userId,
      skip: !userId,
    );
  if (!user) return null;

  useInterval(() => 
    refetchUser();
  , 3000);

  return (
     <p>user.percent</p>
  )


【问题讨论】:

【参考方案1】:

您可以使用Apollo's polling feature 每隔 X 毫秒执行一次查询。

  const data: user = null = , startPolling, stopPolling = useUserQuery(
      variables: uuid: userId,
      skip: !userId,
      pollInterval: 3000, // <-- refetch every 3 sec

    );

您可以分别使用startPollingstopPolling 函数启动和暂停/停止轮询。

【讨论】:

如何使用 startPolling 和 stopPolling? 像普通函数一样?您需要解释这个非常笼统的问题是什么意思。此外,您最初的问题只是需要另一种方式来重复拨打此答案所回答的电话。 如果您认为此答案对您有所帮助,请考虑upvoting and accepting the answer。我看到了你的个人资料,但你似乎不接受或不赞成答案,这将阻止用户在未来回答你的问题。

以上是关于我想每 3 秒更新一次,而不使用 react apollo refetch的主要内容,如果未能解决你的问题,请参考以下文章

如何在ios中每n秒获取一次位置更新

AppWidget每分钟更新一次

使用数据表动态加载数据的分页

如何每隔N秒检查一次android中的Internet连接

从外部 php 文件更改 innerHTML

Android - 每 5 秒循环一次部分代码