Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs NextJS。如何获取动态页面的规范URL?_Reactjs_Seo_Next.js - Fatal编程技术网

Reactjs NextJS。如何获取动态页面的规范URL?

Reactjs NextJS。如何获取动态页面的规范URL?,reactjs,seo,next.js,Reactjs,Seo,Next.js,在nextjs9.4之前,我一直在使用 下一个绝对url包,它以getInitialProps提供源代码 nextsJs 9.5 由于自动优化,我们使用getServerSideProps和getStaticProps。包不支持这些方法,返回未定义的 我的问题是,如果我们有动态页面,让我们说post/[pid].tsx使用下一个seo,我需要规范的url,我如何使用getStaticProps或getServerSideProps生成 这里还有一个问题没有回答 如果需要从url获取pid,则需要

在nextjs9.4之前,我一直在使用 下一个绝对url包,它以getInitialProps提供源代码

nextsJs 9.5 由于自动优化,我们使用getServerSideProps和getStaticProps。包不支持这些方法,返回未定义的

我的问题是,如果我们有动态页面,让我们说post/[pid].tsx使用下一个seo,我需要规范的url,我如何使用getStaticProps或getServerSideProps生成

这里还有一个问题没有回答

如果需要从url获取pid,则需要使用动态路由页面中的路由器, 这会给你一个像
{“pid”:123}

//post/[pid].tsx
从“下一个/路由器”导入{useRouter}
getStaticProps(){
const router=useRouter();
const pid=router.query.pid;
返回{props:{pid}
}
我在这个url中找到了这方面的完美文档-

,因此在更新(从应用程序中删除Redux)之后,下一个Absolute url在getServerSideProps上确实起作用

若应用程序状态不太复杂,那个么使用钩子对上下文API做出反应将非常有效。在这里读一读

useRouter在这些方法中不起作用。它在构建时执行。检查我的答案