javascript - React js没有使用反应路由器导航到页面
问题描述
如果我在我的 http://localhost:3000/anything 中输入任何内容,它将与我输入 home 或/或登录一样,什么都没有。该页面将是空白的。
我的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;
应用程序.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;
有什么想法有什么问题吗?谢谢。
----- 编辑,我注意到当我<Layout> ... </Layout>
从 app.js 中删除它时它可以工作。
我的 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;
解决方案
我认为您缺少Toolbar组件周围的包装元素
import React, { Component } from 'react';
import Toolbar from '../components/Navigation/Toolbar/Toolbar';
class Layout extends Component {
render() {
return (
<div>
<Toolbar />
<div>
);
}
}
export default Layout;
与工具栏相同。应该如下:
import React, { Component } from 'react';
import classes from './Toolbar.module.css';
class Toolbar extends Component {
render() {
return(
<div>
<header className={classes.Toolbar}>
toolbar
</header>
</div>
);
}
}
export default Toolbar;
推荐阅读
- python - 如何获取嵌套字符串列表中最长字符串的长度?
- string - 生成带有变量的句子的所有可能组合
- angular - NgModule 的提供程序无效。只允许 Provider 和 Type 的实例,得到:[?[object Object]?, ...]
- confluent-platform - confluent平台/kafka的bin包是怎么搭建的?
- android - 来自另一个 Activity 的 BottomNavigationView
- android - Android:如何针对特定 Dpi 屏幕进行目标布局
- fortran - Fortran 90中数组的维度
- objective-c - 如何在mapbox ios中显示源中添加的折线?
- javascript - 如何在节点中将 Hex 转换为 Unit8Array?
- typescript - Typescript 导入类型 Eslint:导入/命名