如何正确使用Next.js Router?两行useRouter声明如何合并为同一行不报错?
合并写法实现方案
你可以单次调用useRouter钩子同时完成两个变量的声明,正确的单行写法如下:const router = useRouter(), { replace } = router;
说明
- 该写法仅调用一次
useRouter,和你原有两行代码的功能完全一致,避免了重复调用钩子的冗余操作,不会触发运行报错。 - 也可以选择更简洁的直接属性赋值写法:
const router = useRouter(), replace = router.replace; - 需注意根据你使用的Next.js路由模式导入对应钩子:Pages Router从
next/router导入,App Router从next/navigation导入,导入路径错误也会引发相关报错。
内容的提问来源于stack exchange,提问作者Bryan Lima
相关产品推荐
相关产品推荐

