【问题标题】:"withRouter" not exported from react-router-dom in Typescript [duplicate]“withRouter”未从 Typescript 中的 react-router-dom 导出 [重复]
【发布时间】:2022-01-09 19:23:44
【问题描述】:

我对 Typescript 和 React 比较陌生。

按照教程,我正在尝试从"react-router-dom" 添加withRouter,但我收到错误消息Module '"react-router-dom"' has no exported member 'withRouter'.

react-router-dom node-modules 包中的任何地方都没有对withRouter 的引用。这让我很困惑,我不知道打字稿是否是缺少函数的起源。我知道他们已经删除了一些功能,但我找不到任何可以替换它的东西,以便从我的组件内部访问 this.props.history.push()

任何人都可以就此提出建议吗?我做错了什么?

【问题讨论】:

  • 您的react-router-dom 版本?
  • 副本解释了withRouter 发生的事情。要解决历史问题,您需要将类组件转换为函数组件,以便您可以使用 useNavigate 挂钩,或创建自定义 withRouter HOC 替换并传入替换 history 对象的 navigate 函数. stackoverflow.com/questions/69899955/…

标签: reactjs typescript npm react-router-dom


【解决方案1】:

您使用的是什么版本的react-router-dom?看起来 withRouter 不再受支持。 对于 v6,它已被钩子取代。从他们的文档中查看here 的解释,还有一点here

【讨论】:

  • 感谢您的回答。我将对钩子进行更改,以便我可以使用此组件。
猜你喜欢
  • 2021-06-02
  • 1970-01-01
  • 2022-01-07
  • 1970-01-01
  • 2022-06-30
  • 1970-01-01
  • 2023-01-12
  • 2019-05-01
  • 1970-01-01
相关资源
最近更新 更多