0

我创建了一个非常大的项目,其页面有超过 800,000 个变体。在我当前的 React 项目中,我只需访问www.mywebsite.com/my_page/:id上的 url 参数并使用 useEffect。这是简化的示例:

  url= `${apiAddress}/my_route?id=${props.match.params.id}`
  useEffect(() => {
    axios({
      method: "get",
      url: url,
      timeout: 60 * 4 * 1000, // Let's say you want to wait at least 4 mins
      headers: {
        Authorization:......,
        "Access-Control-Allow-Origin": "*",
      },
    })
      .then((res) => {
        setResults(res.data);
      })
      .catch((err) => {
       //some error handling....
      });
  }, [url]);

所以这工作得很好。情况是每次打开页面时我都会在此处获取响应,但每个 ID 的信息至少在一年内都是相同的。所以至少一年内没有任何变化。加载包含信息的页面通常需要 5-6 秒,我想知道 Next.js 预取是否可以预先构建所有页面并且无需加载它们?我知道数字 800,000 相当大,所以这就是我要问的原因。如果我使用getStaticProps,我可以用更少的 id 做类似的事情,但是如果需要 5 秒来获取 1 页的数据并且它们是 800,000,这是否意味着我必须等待构建 800,000x5 = 46 天?

提前致谢!

4

0 回答 0