【发布时间】:2021-01-29 17:26:18
【问题描述】:
如果我在我的 http://localhost:3000/anything 中输入任何内容,它将与我输入 home 或 / 或 login 一样,什么都没有。该页面将是空白的。
我的social.js:
import React, { Component } from 'react';
import { Route, Switch } from 'react-router-dom';
import Home from '../../containers/Pages/Home/Home';
import Login from '../../containers/Pages/Login/Login';
class Social extends Component {
render () {
return (
<div>
<Switch>
<Route path="/home" exact component={Home} />
<Route path="/login" exact component={Login} />
</Switch>
</div>
);
}
}
export default Social;
app.js:
import React, { Component } from 'react';
import { BrowserRouter } from 'react-router-dom';
import Layout from './Layout/Layout'
import Social from './containers/Pages/Social';
class App extends Component {
render() {
return (
<BrowserRouter>
<div className="App">
<Layout>
<Social />
</Layout>
</div>
</BrowserRouter>
);
}
}
export default App;
任何想法有什么问题吗? 谢谢。
----- 编辑,我注意到当我从 app.js 中删除 <Layout> ... </Layout> 时它可以工作。
我的 Layout.js:
import React, { Component } from 'react';
import Toolbar from '../components/Navigation/Toolbar/Toolbar';
class Layout extends Component {
render() {
return (
<>
<Toolbar />
</>
);
}
}
export default Layout;
和工具栏:
import React, { Component } from 'react';
import classes from './Toolbar.module.css';
class toolbar extends Component {
render() {
return(
<>
<header className={classes.Toolbar}>
toolbar
</header>
</>
);
}
}
export default toolbar;
【问题讨论】:
-
在路由中使用
exact属性。你想达到什么目标? -
看起来一切正确,我测试了您的代码,添加了我自己的组件来代替 Home 和 Login。可能是您在渲染主页或任何组件时遇到控制台错误。你能检查一下吗?
-
@BlackMath 我想打开
/home和/login。但所有页面都是空白的 -
@Pavan 我得到的唯一错误是
src\containers\Pages\Home\Home.js Line 2:8: 'firebase' is defined but never used -
我也粘贴了我的 index.js 代码...
标签: javascript reactjs