我正在用react建立一个网站.我有一个url http://0.0.0.0:9000/courseware/course/6/content/programming/issues/lab/1,它显示了一个id为1的实验室的问题列表.

当我点击一个问题(如22)时,我希望url变成http://0.0.0.0:9000/courseware/course/6/content/programming/issue/22.

我试过这么做

this.props.history.push({
     pathname: "issue/" + this.state.issue.id
}) 

但是url会变成/programming/issues/lab/1/issue/22

我试过这么做

const history = useHistory();
history.goBack();
this.props.history.push({
     pathname: "issue/" + this.state.issue.id
})

但是有一个错误

然后我试着

this.props.history.goBack();
this.props.history.push({
     pathname: "issue/" + this.state.issue.id
}) 

但这是导航页面,下面的推送功能不起作用.

首先,我是否以正确的方式处理URL?如果是,那么我该如何解决这个问题?

我假设我必须使用历史来在URL之间导航,而不需要实际重新加载页面.

提前谢谢

推荐答案

在您的情况下,我建议使用这种相对路径名来解决这个问题:

this.props.history.push({
     pathname: "issue/" + this.state.issue.id
}) 

你只需要让它后退三步.

Javascript相关问答推荐

Mongoose post hook在使用await保存时不返回Postman响应

如何调用名称在字符串中的实例方法?

如何通过将实例方法的名称传递给具有正确类型的参数的继承方法来调用实例方法?

使用原型判断对象是否为类的实例

为什么客户端没有收到来自服务器的响应消息?

当用户点击保存按钮时,如何实现任务的更改?

Jest toHaveBeenNthCalledWith返回当前设置的变量值,而不是调用时的值

为什么可选参数的顺序会导致问题?

使用父标签中的Find函数查找元素

Cherrio JS返回父div的所有图像SRC

顶点图使用组标签更新列之间的条宽

MUI迷你图:如何将$符号添加到MUI迷你图中的工具提示数据

rxjs在每次迭代后更新数组的可观察值

如何用react组件替换dom元素?

如何调整下拉内容,使其不与其他元素重叠?

相对于具有选定类的不同SVG组放置自定义工具提示

如何格式化API的响应

webpack 5和mini-css-extract-plugin在将scss保存到css文件后不加载css

UseEffectreact 18-花很长时间进行API调用

将包含数字字符的新字符串与现有数字字符串合并