导入React组件后页面不显示且无报错的问题求助
问题排查方案
- React Router版本不匹配(最高发原因)
你目前使用的路由写法是React Router v5的规范,而现在通过npm默认安装的react-router-dom为v6版本,v6废弃了component属性,也要求所有Route必须包裹在Routes标签内,语法不匹配就会出现无报错、不渲染的情况。
修正方案:
- 先修改导入语句
// 旧v5导入无需引入Routes // 新v6导入写法 import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom';
- 修改路由渲染部分代码
<Router> <div className="container"> {/* 可选:添加导航链接方便跳转 */} <div> <Link to="/">待办列表</Link> | <Link to="/create">新建待办</Link> </div> <Routes> <Route path="/" exact element={<TodosList />} /> <Route path="/edit/:id" element={<EditTodo />} /> <Route path="/create" element={<CreateTodo />} /> </Routes> </div> </Router>
未访问对应路由路径
你的CreateTodo组件绑定的路由是/create,项目启动后默认打开的是根路径/,只会渲染TodosList组件,你可以直接在浏览器地址栏输入http://localhost:3000/create访问,或者添加上文的Link导航组件点击跳转。组件导入路径错误
确认create-todo.component.js文件确实存放在src/components目录下,文件名大小写和导入语句完全一致,避免大小写不匹配导致的引入失效。
内容的提问来源于stack exchange,提问作者helpjpls
相关产品推荐
相关产品推荐

