reactjs - 链接到后匹配和位置道具未更新
问题描述
我有一个奇怪的问题,我在页面上有一个链接,它正在更改 url 但没有重新加载页面。
在这种情况下,它是具有不同 ID 的相同组件。即使 url 发生变化,似乎 match.params 也没有更新。
我直接在渲染时检查了道具,它们确实得到了更新,但显示的值与我的值相同。
解决方案
我没有完成这个问题,也不打算发布,但经过疯狂的研究之后,我发现的东西并不多。
使用 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)
推荐阅读
- javascript - 复制 URL 参数并粘贴到 HTML
- flutter - Flutter 异步表单验证
- python - 如何在 Mac OS X 上为 python av 安装 h264 编解码器
- javascript - 只有在 ie11 上打开开发工具时才可以解决 photoeditorSDK 的问题?
- mysql - 如何组合来自 4 个 mysql 表的数据
- hibernate - GORM / Hibernate:加入(演员)到财产的孩子的标准
- excel - 粘贴的单元格包含 #N/A
- java - 实体不在数据库中 - Spring-Data-Jpa + Postgres
- scala - 如何创建一个 Scala 函数,该函数可以参数化地创建某种类型的子类型的实例
- sql-server - TSQL 链接服务器完全限定名称解析