【问题标题】:How to append to dynamic react router url?如何附加到动态反应路由器网址?
【发布时间】:2019-09-20 13:04:38
【问题描述】:

说我有这个网址/something/:id/somethingelse/:anotherid/hello

当我对/something/:id/somethingelse/:anotherid/hello/complete做某事时我想改变它

如果我这样做 history.push('/complete') 它只会覆盖整个内容,那么我该如何附加它?

这些东西:id 显然是动态的,所以我只想附加到 url 而不会丢失任何东西,然后一旦用户在新路线上刷新它就会停留在那个位置上?

【问题讨论】:

    标签: javascript reactjs react-router react-router-dom


    【解决方案1】:

    只需手动获取 window.location.pathname 和查询参数并附加到 /complete 然后推送新路由即可解决此问题

    【讨论】:

      【解决方案2】:

      所以从history documentation 中,我只找到了下面详述的pushreplace 函数,它们与更改URL 相关:

      关于push的详细信息:

      push(path, [state]) - (function) 将新条目推入历史堆栈

      还有一个叫replace,也许你想看看:

      replace(path, [state]) - (function) 替换历史堆栈上的当前条目

      VSCode 给了你一个提示,所以对于以后的使用,熟悉replace 可能会很有用:

      您可能想使用replace 之一,或者当然可以使用您在回答中提到的自定义解决方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-02-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-11
        • 2019-03-30
        • 1970-01-01
        相关资源
        最近更新 更多