Nextjs中[id].js
、[...id].js
和[[...id]].js
动态路由的区别是什么?
大小写:posts/[id].js
当你调用/posts/1099 -你的页面将被触发(id
变量的值是1099
.
例子:
/posts
-系统将触发一个错误(id未定义)或可能的问题取决于你的代码。
/posts/1099
- OK
/posts/1011/info
-系统将触发404.
posts/[...id].js
当你调用/posts/1099时,你的页面将被触发(id
变量的值是1099
)。如果你调用/posts/1011/info -系统将运行你的代码,没有错误。(通过添加三个点捕获所有路径),更多信息请参阅nextjs文档。
/posts
-系统将触发一个错误(id未定义)或可能的问题取决于你的代码。
/posts/1099
- OK
/posts/1011/info
- OK(适用于所有"嵌套路由",例如posts/a/b/c/d/e等)。
posts/[[...id]].js
与[…id].js相同,但包含根路径。(nextjs文档)
/posts
- OK。
/posts/1099
- OK
/posts/1011/info
- OK。