如何在NextJs的Router.push中添加查询参数?

尼普尔

使用NextJS,我试图使用具有toandas字段的对象路由到另一个页面

export const routes = {
  'BrowseList' : {
    'to' : '/apps/Browse/list',
    'as' : '/browse/list'
  }
  // ....
}

然后将其导入并使用,如下所示:

import { routes } from './__routes';
import Router from 'next/router';

// .... 

const { to, as } = routes.BrowseList;

Router.push(to, as);

一切正常。我的困境是我在附加查询参数时试图做与此类似的事情。我正在尝试根据docs遵循以下示例

Router.push({
  pathname: '/about',
  query: { name: 'Zeit' },
})

我尝试过的方法(不起作用):

Router.push({
  pathname : to,
  as,
  query    : { user_id: this.props.data.member.user.id },
});

这给了我一个控制台警告

Unknown key passed via urlObject into url.format: as

我知道我可能可以只使用字符串插值并执行以下操作:

Router.push(to, `${as}?user_id=`${this.props.data.member.user.id}`)

但是我想知道文档的示例中是否缺少某些东西,也将查询参数添加到了我的as值中。

谢谢。

卡兰萨

你很近@nyphur。as值作为push的第二个参数出现,而不是在与之相对应的对象内部to(请检查router.d.ts以查看push的定义)。这就是为什么出现错误的原因Unknown key passed via urlObject into url.format: as在您提问10个月后,对于寻求答案的人来说,这可能仍然有用。假设您有一种方法可以as按照@Gezim答案或通过任何其他方法来构建参数的查询字符串

Router.push({ pathname: to, query: { user_id: this.props.data.member.user.id } }, as, options);

注意:基于@Gezim答案,如果您格式化字符串或pathname在第一个参数中包含查询参数,它将可以使用BUT编码值,如果有的话%2B(例如将被解码),您将得到+如果查询params对象进入内部则不会发生query如果您有任何依赖于此的逻辑,请考虑一下。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在流明路线中添加查询参数?

来自分类Dev

Resteasy如何更新/添加查询参数?

来自分类Dev

如何在Play Framework 2.3中向FakeRequest添加查询字符串参数?

来自分类Dev

Rails应用程序-如何在API获取请求中添加查询参数?

来自分类Dev

如何在 TypeScript 中向我的 url 添加查询参数?

来自分类Dev

如何在不使用@angular/router 的情况下添加查询参数

来自分类Dev

如何通过传递的参数数据在Ajax代码中添加查询?

来自分类Dev

如何在课堂API请求中添加查询?

来自分类Dev

如何在JavaScript中添加查询字符串?

来自分类Dev

如何在 Ruby on Rails 中的表之间添加查询

来自分类Dev

如何使用2个参数添加查询

来自分类Dev

如何在Wordpress中动态添加查询中的帖子数

来自分类Dev

如何在CodeIgniter中仅添加查询中的某些列

来自分类Dev

如何在基于graphql-sequelize的设置中添加查询逻辑?

来自分类Dev

如何在Laravel中向URL添加查询字符串?

来自分类Dev

如何在BigCommerce代码中添加查询字符串?

来自分类Dev

如何使用Spring HATEOAS添加查询字符串参数?

来自分类Dev

Armeria HTTP客户端-如何添加查询字符串参数

来自分类Dev

NextJS - 如何在循环内的图像链接中添加参数

来自分类Dev

如何添加查询显示结果? / TNTSearch

来自分类Dev

如何向我的 URL 添加查询?

来自分类Dev

如何通过Grails中的controller方法在URL中附加查询参数?

来自分类Dev

如何在查询公式中添加<=参数

来自分类Dev

如何在 Django 中添加查看所有 (*) 的选项?

来自分类Dev

如何从umbraco mvc中的表面控制器添加查询字符串以持久保存模型值

来自分类Dev

如何在nextjs中添加全局组件列表

来自分类Dev

如何在PDO查询中向子句添加参数

来自分类Dev

如何在PDO查询中向子句添加参数

来自分类Dev

如何在 URL 中附加查询字符串时停止页面重新加载

Related 相关文章

  1. 1

    如何在流明路线中添加查询参数?

  2. 2

    Resteasy如何更新/添加查询参数?

  3. 3

    如何在Play Framework 2.3中向FakeRequest添加查询字符串参数?

  4. 4

    Rails应用程序-如何在API获取请求中添加查询参数?

  5. 5

    如何在 TypeScript 中向我的 url 添加查询参数?

  6. 6

    如何在不使用@angular/router 的情况下添加查询参数

  7. 7

    如何通过传递的参数数据在Ajax代码中添加查询?

  8. 8

    如何在课堂API请求中添加查询?

  9. 9

    如何在JavaScript中添加查询字符串?

  10. 10

    如何在 Ruby on Rails 中的表之间添加查询

  11. 11

    如何使用2个参数添加查询

  12. 12

    如何在Wordpress中动态添加查询中的帖子数

  13. 13

    如何在CodeIgniter中仅添加查询中的某些列

  14. 14

    如何在基于graphql-sequelize的设置中添加查询逻辑?

  15. 15

    如何在Laravel中向URL添加查询字符串?

  16. 16

    如何在BigCommerce代码中添加查询字符串?

  17. 17

    如何使用Spring HATEOAS添加查询字符串参数?

  18. 18

    Armeria HTTP客户端-如何添加查询字符串参数

  19. 19

    NextJS - 如何在循环内的图像链接中添加参数

  20. 20

    如何添加查询显示结果? / TNTSearch

  21. 21

    如何向我的 URL 添加查询?

  22. 22

    如何通过Grails中的controller方法在URL中附加查询参数?

  23. 23

    如何在查询公式中添加<=参数

  24. 24

    如何在 Django 中添加查看所有 (*) 的选项?

  25. 25

    如何从umbraco mvc中的表面控制器添加查询字符串以持久保存模型值

  26. 26

    如何在nextjs中添加全局组件列表

  27. 27

    如何在PDO查询中向子句添加参数

  28. 28

    如何在PDO查询中向子句添加参数

  29. 29

    如何在 URL 中附加查询字符串时停止页面重新加载

热门标签

归档