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

react-router-dom中BrowserRoute未找到及组件导出导入报错求助

问题解决方法

1. 修复react-router-dom的导入错误

你把路由组件名拼错了,正确的名称是BrowserRouter,不是BrowserRoute。同时你的App组件缺少return语句,会导致组件无法渲染内容,一起修改:

// app.js 修正后的代码
import React from 'react'
import { BrowserRouter, Routes, Route } from 'react-router-dom'
import { Box } from '@mui/material'

import { Navbar, Feed, VideoDetail, SearchFeed, ChannelDetail } from './components/index'

const App = () => {
  return (
    <BrowserRouter>
      <Box sx={{ backgroundColor: '#000' }}>
        <Navbar />
        <Routes>
          <Route path='/' exact element={<Feed />} />
          <Route path='/video/:id' element={<VideoDetail />} />
          <Route path='/channel/:id' element={<ChannelDetail />} />
          <Route path='/search/:searchTerm' element={<SearchFeed />} />
        </Routes>
      </Box>
    </BrowserRouter>
  )
}

export default App

2. 修复组件导出/导入不匹配问题

报错显示你的Navbar、VideoDetail等组件是命名导出,但你在components/index.js里试图导入它们的默认导出,两种解决方式选其一:

方式一:修改components/index.js的导出逻辑

直接导出组件的命名导出:

// components/index.js
export { Navbar } from './Navbar'
export { ChannelDetail } from './ChannelDetail'
export { VideoDetail } from './VideoDetail'
export { SearchFeed } from './SearchFeed'
export { Feed } from './Feed'

方式二:修改组件文件为默认导出

以Navbar.js为例,其他组件(VideoDetail、Feed等)做同样修改:

// Navbar.js
const Navbar = () => {
  // 组件原有内容
}

export default Navbar

修改后components/index.js的原有代码即可正常使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 20:55:22