useRouter from next/navigation不会立即加载路由

dvtswwa3  于 11个月前  发布在  其他
关注(0)|答案(2)|浏览(129)

useRouter从下一个/导航不立即加载路由,我不得不等待一个littel似乎点击没有注册,它等待页面呈现在服务器端,然后重定向既不是在浏览器中的URL变化,直到页面呈现在服务器端。我想要的是URL应该改变,页面的数据应该加载在重定向页面上

0vvn1miw

0vvn1miw1#

尝试在路由更改期间添加加载指示器,以获得页面正在加载的视觉反馈。

const [loading, setLoading] = useState(false);
const fetchData = async () => {
setLoading(true);
try {
  const response = await fetch('endpoint');
 
  setLoading(false);
  router.push("/url")
} catch (error) {
  console.error('Error fetching data:', error);
  setLoading(false);
}
};

字符串

olmpazwi

olmpazwi2#

你可以添加一个加载器来避免这个问题。只要在你的文件夹中添加一个loading.tsx就可以了,这个文件夹中有你的layout.tsx文件。
这个加载器将防止您的延迟。
您可以在此处查看如何添加加载

相关问题