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

React BrowserRouter无法渲染,报useRef空值错误求助

React Router BrowserRouter 渲染报错:Cannot read properties of null (reading 'useRef') 解决方法

你遇到的这个Cannot read properties of null (reading 'useRef')报错,核心原因几乎都是React与react-router-dom版本不兼容,结合你用了React 18的createRoot API,下面是具体的排查和修复步骤:

1. 升级react-router-dom到兼容React 18的版本

React 18要求react-router-dom至少为v6.3.0及以上,旧版本的路由库没有适配React 18的hooks运行机制,会触发这类错误。执行以下命令更新:

# 先卸载旧版本
npm uninstall react-router-dom
# 安装最新稳定版
npm install react-router-dom

或者指定一个经过验证的兼容版本:

npm install react-router-dom@^6.8.0

2. 确认React和React DOM版本为18.x

你代码里用了ReactDOM.createRoot,这是React 18的专属API,如果你的react/react-dom版本低于18,也会导致路由组件的hooks调用异常。执行命令查看当前版本:

npm list react react-dom

如果版本低于18,执行更新:

npm install react@latest react-dom@latest

3. 清理依赖缓存,避免版本冲突

有时候项目里会残留多个版本的依赖,导致运行时上下文混乱。执行以下步骤彻底重置依赖:

# 删除node_modules和锁文件
rm -rf node_modules package-lock.json
# 重新安装所有依赖
npm install

完成以上步骤后,重启你的开发服务器,应该就能正常渲染BrowserRouter和Home组件了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 02:05:26