如何解决NextJs Singleton Router 实例与 useRouter() 有什么区别?
我在我的应用程序中使用 NextJS。其中,对于路由,我们使用以下内容:
import React from "react";
import {useRouter} from "next/router";
const IndexPage: React.FC = (props) => {
const router = useRouter();
useEffect(() => {
router.replace('/home');
},[]);
return null;
};
即使是文档也建议遵循这一点。他们利用 useRouter 钩子接入路由器实例并使用它做一些事情。
我一直在使用上述方法的替代方法。有一个单例路由器实例,它是下一个/路由器文件的默认导出。它允许我在不使用钩子访问路由器实例的情况下进行路由。
import React from "react";
import Router from "next/router";
const IndexPage: React.FC = (props) => {
useEffect(() => {
Router.replace('/home');
},[]);
return null;
};
我更喜欢第二种方法。但是,我在 NextJs 站点上没有看到相关文档。不确定这是否是进行路由的正确方法。我想知道这两种方法有什么区别,第二种方法将来会不会导致任何问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。