如何解决Next.js 路由器创建查询字符串和查询字符串数组
我在我的项目中使用 Next.js,我需要创建一个动态查询字符串。我使用此代码:
const createQuery = (filter) => {
let currentPath = router.pathname;
let filterSize = Object.keys(filter).length;
filterSize != 0 ? (currentPath += "?") : null;
Object.keys(filter).map(function (key,index) {
currentPath +=
key + "=" + filter[key] + (index === filterSize - 1 ? "" : "&");
});
router.push(currentPath);
};
它可以工作,但我不向查询字符串发送数组。我怎样才能做到这一点?另外,有没有更简单的方法在 Next.js 中创建查询字符串?
解决方法
您可以使用 URLSearchParams 来简化您的代码
const params = new URLSearchParams({
var1: "value",var2: "value2",arr: "foo",});
console.log(params.toString());
//Prints "var1=value&var2=value2&arr=foo"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。