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

使用Browser Router配置路由触发TS2769错误,求解决方案

解决React Router配置中的TS2769错误

错误原因

你代码里的Route组件导入错了——当前是从@mui/icons-material导入的,这是MUI的图标组件,根本不是React Router用来定义路由的Route。TypeScript报错是因为你把路由专属的path、element等props传给了图标组件,两者类型完全不兼容。

解决步骤

  1. 删除错误导入:删掉从@mui/icons-material导入的Route和Router(你代码里没用到Router图标,直接移除这行即可)
  2. 导入正确的Route组件:从react-router-dom中导入Route

修改后的完整代码

import './index.css';
// 移除错误的图标组件导入
import {createTheme, ThemeProvider} from '@mui/material';

import App from './App';
import {StrictMode} from 'react';
import {lightTheme} from '@gds/react-mui';
import DocumentUIStartingPage from './pages/DocumentUI/StartingPage/DocumentUIStartingPage';
import reportWebVitals from './reportWebVitals';
import {createRoot} from 'react-dom/client';
// 从react-router-dom导入正确的路由组件
import {BrowserRouter, Routes, Route} from 'react-router-dom';

const theme = createTheme(lightTheme);
const container = document.getElementById('root');
const root = createRoot(container!);

root.render(
  <StrictMode>
    <ThemeProvider theme={theme}>
      <BrowserRouter>
        <Routes>
          {/* React Router v6 无需exact属性,默认精确匹配 */}
          <Route path="/" element={<App/>} />
          <Route path="/documentUI" element={<DocumentUIStartingPage/>} />
        </Routes>
      </BrowserRouter>
    </ThemeProvider>
  </StrictMode>
);

reportWebVitals();

额外提示

React Router v6版本中,<Routes>组件下的<Route>默认就是精确匹配,所以不需要再添加exact属性,直接删除即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 11:10:23