首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在下一个路由器中传递多个查询

如何在下一个路由器中传递多个查询
EN

Stack Overflow用户
提问于 2020-08-08 17:30:11
回答 2查看 1.2K关注 0票数 1

我在next.js和next-router工作

我有两个要传递的数据参数

一个是entity_id,另一个是url_key。

代码语言:javascript
复制
data={
    entity_id: 5,
    url_key: 'canada/ontario/store_five'
}

目前我可以传递一个url_key:

代码语言:javascript
复制
 Router.push('/store?url_key=' + marker.url_key, `/store/${marker.url_key}`)

URL就像我想要的那样出现了

代码语言:javascript
复制
http://BaseUrl/store/canada/ontario/store_five

现在我还想发送与上述url_key一起的entity_id,但这不应该在URl中显示

EN

回答 2

Stack Overflow用户

发布于 2020-08-10 00:19:59

您可以传递任意多个查询参数,只需使用query-string即可。

代码语言:javascript
复制
// using urls
Router.push(
  `/store?url_key=${marker.url_key}&entity_id=${marker.entity_id}`,
  `/store/${marker.url_key}`
);

// using object
Router.push({
  pathname: '/store',
  query: { url_key: marker.url_key, entity_id: marker.entity_id },
  asPath: `/store/${marker.url_key}`,
});

有关更多信息,请阅读router docs

票数 4
EN

Stack Overflow用户

发布于 2021-04-21 00:14:39

我建议你在下一个路由器中使用一个查询对象来传递多个查询。使用包

代码语言:javascript
复制
import {useRouter} from "next/router";

 const router=useRouter();
 router.push({
               
 pathname:'/store',
 
query:{entity_id :"2221ACBD",url_key:"URL KEY"},
            })

要从查询中获取数据,您可以使用查询的数组解构,如下所示:

代码语言:javascript
复制
   const { query } = useRouter();

    console.log("query::",query);

    console.log("entity key:-",query.entity_id);

    console.log("url_key:-",query.url_key);

示例:Example1

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63313817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档