Reactjs 替换Next.js中查询中的值
我正在使用nextjs。我使用查询参数创建url:Reactjs 替换Next.js中查询中的值,reactjs,next.js,Reactjs,Next.js,我正在使用nextjs。我使用查询参数创建url: http://localhost:3000/cars?colors=red&nr=20。当我点击按钮时,是否有可能只更改url的特定部分,如:http://localhost:3000/cars?colors=blue&nr=20。所以在这种情况下,我只是改变了蓝色的颜色。 我用过: router.replace( { 路径名:“/…”, 查询:{ 颜色:蓝色 }, }, 未定义, { 肤浅:是的, }, );您需要将所有查询添加到您的路由器
http://localhost:3000/cars?colors=red&nr=20
。当我点击按钮时,是否有可能只更改url的特定部分,如:http://localhost:3000/cars?colors=blue&nr=20
。所以在这种情况下,我只是改变了蓝色的颜色。
我用过:
router.replace(
{
路径名:“/…”,
查询:{
颜色:蓝色
},
},
未定义,
{
肤浅:是的,
},
);代码>您需要将所有查询添加到您的路由器中。替换查询
,例如
router.replace(
{
pathname: '/...',
query: {
nr:20,
color: blue
},
},
undefined,
{
shallow: true,
},
);
为了让它更简单,你可以这样做
router.replace(
{
pathname: '/...',
query: {
...router.query, // list all the queries here
color: blue // override the color property
},
},
undefined,
{
shallow: true,
},
);
你说它不工作是什么意思?浏览器没有更新URL吗?或者你的UI颜色没有改变?@sabrinalou,浏览器会更新它,但我丢失了url的另一部分:http://localhost:3000/cars?colors=blue
。您可以看到&nr=20
丢失,我只需要替换url的特定部分,但我不想更改以保持完整的项目。你有解决办法吗,你能帮忙吗?你能帮忙吗?