You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用react-router-dom 4.0.0报错Cannot read property 'object' of undefined求助

解决react-router-dom 4.0.0运行时"Cannot read property 'object' of undefined"错误

我之前遇到过一模一样的问题,在react-router-dom 4.x早期版本里这是个挺常见的坑,核心原因就是依赖版本不匹配,尤其是React主包版本过低,或者缺少必要的配套依赖。

先看你遇到的报错信息:

VM1542 bundle.js:3589 Uncaught TypeError: Cannot read property 'object' of undefined

这个错误本质是:react-router-dom 4.0.0依赖的React版本需要支持独立的prop-types包,但你的React版本大概率低于15.5.0——React从15.5.0开始把PropTypes从核心包剥离到了单独的prop-types模块,旧版本React里没有这个独立包,导致路由组件找不到PropTypes.object进而抛出错误。

具体解决步骤:

  • 升级React和React DOM到兼容版本
    react-router-dom 4.0.0要求React版本至少为15.5.0,执行以下命令升级:

    npm uninstall react react-dom
    npm install react@^15.5.0 react-dom@^15.5.0 --save
    

    如果你想直接用更高版本的React(比如16.x系列)也完全没问题,兼容性很好。

  • 安装prop-types依赖包
    升级到React 15.5.0+后,必须单独安装这个包:

    npm install prop-types --save
    
  • 可选:升级react-router-dom到更稳定的4.x版本
    4.0.0作为初始版本存在一些小bug,你可以直接升级到4.x的最新稳定版(比如4.3.1),能避开不少早期版本的问题:

    npm install react-router-dom@^4.3.1 --save
    

关于你的代码

你的路由代码本身是完全正确的,不需要做任何修改,升级依赖后重新打包运行,这个错误应该就能直接解决了。

内容的提问来源于stack exchange,提问作者sdinesh94

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:47:48