gpt4 book ai didi

javascript - 在react-router v4中的嵌套路由中看到空白页面

转载 作者:行者123 更新时间:2023-11-28 17:12:59 25 4
gpt4 key购买 nike

我是 react 新手,仍在学习。我正在尝试在我的 React 项目中添加嵌套路由,以便 div 的内容根据路由而变化。

以下是我的组件:-

//index.js

import 'bootstrap/dist/css/bootstrap.min.css';
import 'font-awesome/css/font-awesome.min.css';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';

library.add(faIgloo);

ReactDOM.render(<BrowserRouter>
<App />
</BrowserRouter>, document.getElementById('root'));

serviceWorker.unregister();


// app.js
import React, { Component } from 'react';
import { Route, Switch, Redirect } from 'react-router-dom';
import Login from './components/login/login.js'
import Protected from './components/protected/protected.js'



import './App.css';

class App extends Component {

render() {
return (
<Switch>
<Route exact path="/protected" component={Protected}/>
<Route path="/login" component={Login}/>
</Switch>
);
}
}

export default App;



//protected.js

import React, { Component } from 'react';
import { Route, Switch } from 'react-router-dom';
import Header from './header/header.js';
import './protected.css';

import CafePreview from './cafepreview/cafepreview.js'

class Protected extends Component {
render() {
const {match} = this.props;
return (
<div>
<Header></Header>
{/*<Preview/>*/}
<Switch>
<Route path='/protected/cafepreview' component={CafePreview}/>
</Switch>
</div>
);
}
}

export default Protected

// cafepreview.js

import React, { Component } from 'react';
import { Route, Switch } from 'react-router-dom';
import './preview.css';

console.log("here");
class CafePreview extends Component {
render() {
return (
<div>
<div>
<i class="fa fas fa-arrow-left"></i>
<span> BACK TO ALL CAFES </span>
</div>
</div>
);
}
}

export default CafePreview

当我打开“/protected”时,我可以看到标题,但是当我尝试打开“/protected/cafepreview”时,我看到一个空页面,而不是带有咖啡馆预览 html 的标题。

我尝试了此 stackoverflow 线程 Multiple Nested Routes in react-router-dom v4 中提到的一些选项但它们都不起作用。

我希望我已经清楚地解释了我的问题。

最佳答案

检查文档 https://reacttraining.com/react-router/web/api/Route/exact-bool 。从应用程序组件中的路由中删除 exact ,它将开始工作。

关于javascript - 在react-router v4中的嵌套路由中看到空白页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54046910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com