【发布时间】:2022-01-09 14:52:56
【问题描述】:
嗨,伙计们,我想创建一个使用导航栏更改页面的网页,所以我想使用 bootstrap 和 react-route-dom 来创建它,但在我使用 bootstrap 之前它什么都不显示,可能会发生一些我没有的错误没看到我在这里发布我的代码,我只是创建一个页面并在 App.jsx 文件中使用它,但它什么也没显示,但是当我在 App 文件的返回函数中使用主页时,它工作得非常好并且没问题。我找不到任何错误。当我将主文件放在另一个目录中时,它只是说:
没有路线匹配位置“/”
但是当我把这 3 个文件放在一起时,它会说:
位置“/”的匹配叶路由没有元素。这 意味着默认情况下它将呈现一个空值 导致“空”页面。
这是我的 index.jsx 文件:
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './components/pages/App';
import reportWebVitals from './reportWebVitals';
const rootElement = document.getElementById("root");
ReactDOM.render(
<App/>,
rootElement
)
;
reportWebVitals();
这里是 App.jsx 文件:
import '../../App.css';
import 'bootstrap/dist/css/bootstrap.min.css';
import React from "react";
import {BrowserRouter as Router, Route, Routes} from 'react-router-dom';
import Home from './home';
import HeaderBar from '../layout/HeaderBar';
function App() {
return (
<Router >
<div>
<HeaderBar/>
<Routes>
<Route exact path='./pages/home' element={</Home>}></Route>
</Routes>
</div>
</Router>
);
}
export default App;
还有我的主页文件:
import React from 'react';
const Home = () => {
return (
<div className="container">
<h1 className='display-5 text-uppercase py-5 text-center'>
Welcome to JavaScript World
</h1>
</div>
);
};
export default Home;
最后这是我的 package.json:
{
"name": "forex_trader",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.16.1",
"@testing-library/react": "^12.1.2",
"@testing-library/user-event": "^13.5.0",
"bootstrap": "^5.1.3",
"react": "^17.0.2",
"react-bootstrap": "^2.1.0",
"react-dom": "^17.0.2",
"react-router-bootstrap": "^0.26.0",
"react-router-dom": "^6.2.1",
"react-scripts": "5.0.0",
"styled-components": "^5.3.3",
"web-vitals": "^2.1.3"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
编辑已解决:
在版本 6 中:
“组件”需要替换为
“元素”
需要关闭
<Route exact path="/" element={<Home/>}></Route>
【问题讨论】:
-
<Home>组件使用“/”路径会更有意义。 -
@tromgy 我以前用过,但没有任何变化
标签: javascript reactjs react-router react-router-dom react-bootstrap