首页 > 解决方案 > 链接到后匹配和位置道具未更新

问题描述

我有一个奇怪的问题,我在页面上有一个链接,它正在更改 url 但没有重新加载页面。

在这种情况下,它是具有不同 ID 的相同组件。即使 url 发生变化,似乎 match.params 也没有更新。

我直接在渲染时检查了道具,它们确实得到了更新,但显示的值与我的值相同。

标签: reactjs

解决方案


我没有完成这个问题,也不打算发布,但经过疯狂的研究之后,我发现的东西并不多。

使用 React Router 加载相同的组件,您需要添加 withRouter 以便匹配和位置更新为新的 url。

我的路由器链接就像/somepart/:id 我用不同的 ID 链接到同一个 url。从不同的组件开始时没有问题。

解决方案

import { withRouter } from 'react-router-dom'

...

class MyComponent extends Component {
    render() {
    const { myID } = this.props.match.params
    return (
        ...
    )
}

...

export default withRouter(MyComponent)

推荐阅读