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

React中使用react-router-dom的useNavigate时页面内容消失

问题原因与解决方案

你遇到的页面内容消失问题,核心原因是你的整个应用没有被Router组件包裹。react-router-dom的路由功能(包括useNavigate钩子、Routes和Route组件)必须在BrowserRouter(或同类型的Router组件,比如HashRouter)提供的上下文环境中才能正常工作。没有这个外层包裹,路由系统无法识别当前路径,也无法渲染对应的页面组件,最终导致页面没有内容显示。

解决步骤

  1. 在应用的入口文件(通常是index.js)中导入BrowserRouter,并将App组件包裹在其中:
import React from 'react';
import ReactDOM from 'react-dom/client';
import { BrowserRouter } from 'react-router-dom';
import App from './App';

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <BrowserRouter>
    <App />
  </BrowserRouter>
);
  1. 你的App组件代码无需修改,保持原样即可。

完成上述修改后,路由上下文会被正确注入,useNavigate能正常触发页面跳转,Routes也会根据当前路径渲染对应的Home或Contacts组件,页面内容就能正常显示了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 03:52:40