next.js - next.js中如何根据查询参数显示不同状态的页面
问题描述
我想根据 next.js 中的不同查询参数显示具有不同状态的页面,这样当用户使用带有查询参数的链接时,它不应该显示默认页面,而是基于状态。
为简单起见,考虑主页,因为 localhost:3000
这会呈现一些默认文本“Hello user”如果用户输入localhost:3000/?name=JohnDoe
这应该呈现 Hello JohnDoe。
我尝试过的事情。我可以通过 next router 使用事件处理程序添加查询参数。
router.push('/?name=JohnDoe)
但是我不知道当用户使用带有查询参数的链接直接进入页面时设置状态的解决方案
解决方案
您可以在getServerSideProps中访问查询,然后使用该查询重定向或做任何您想做的事情:
const getServerSideProps = (ctx) => {
const {params} = ctx;
if(params){
return {
redirect: {
permanent: false,
destination: "/login",
}
}
}
推荐阅读
- javascript - Android 版 Chrome 中文本输入的奇怪行为
- java - 如果我在嵌入式 tomcat 上运行我的 Rest API 并且 IDE 已关闭,它从哪里运行?
- laravel - Laravel-echo-server 码头化问题
- azure-api-management - 如何在不使用 API Gateway 上的测试控制台的情况下跟踪 Api 代理请求?
- php - 如何将 wordpress 从 xampp windows 迁移到 ubuntu
- python - 使用正则表达式检索字符串的子集 - python
- python - 滑动邻域运算 PYTHON
- pandas - 如何拆分数据框列中列表中的每个字符串
- c++ - Eclipse 中的类型不匹配,同时通过“this”指针调用具有对象引用的友元函数
- docker - 如何创建构建 Docker 映像的 Jenkins 管道