将useEffect与Axios API调用结合使用,而无需不断重新呈现(使用Typescript)

时间:2019-11-03 23:01:20

标签: reactjs typescript axios

我正在从文件中的API获取数据,该文件是我的React应用程序的上下文提供者。但是,当我从使用上下文的组件中将一些数据推送到API时,数据不会实时更新,因此我必须刷新页面才能看到它的更新。如何确保它不断检查API是否有新数据?

我已经在useEffect函数中将项目状态添加到依赖项数组中,但这导致API不断被调用,而不是仅在数据更改时被调用。

ItemsContext.tsx

  const [items, setItems] = useState();


  useEffect(() => {
    const fetchData = async () =>
      {
        try {
          const res = await axios.get(config().URI);
          setItems(res.data.items);
        } catch (error) {
          throw error;
        }
      };
    fetchData();
  }, []);

0 个答案:

没有答案