javascript - 导航栏不显示在反应
问题描述
import React from 'react';
import { NavLink, withRouter } from 'react-router-dom';
import './style.css';
const NavBar = ({ history }) => {
return (
<nav>
<NavLink className="home-link" to="/">Home</NavLink>
<NavLink activeClassName="active" to="/about">About</NavLink>
<NavLink activeClassName="active" to="/search">Search</NavLink>
<button>Back</button>
</nav>
);
}
export default NavBar;
这是应用程序组件:
import React from 'react';
import { Switch, Route } from 'react-router-dom';
import { NavBar, SearchForm } from './components';
import { Welcome, Search ,About} from './pages'
import { BrowserRouter as Router, Switch, Route, Link } from 'react-
router-dom';
const PageNotFound = () => (
<div> 404</div>
)
// function App() {
class App extends Component {
render () {
return (
<div id="app">
<header>
<NavBar />
</header>
<main>
<Switch>
<Route exact path="/" component={Welcome}/>
<Route path="/about" component={About} />
<Route path="/search" component={Search} />
</Switch>
<SearchForm/>
</main>
</div>
)
}
}
export default App;
当我 npm 启动我的应用程序时,它没有显示导航栏,我错过了什么?我已经将导航栏组件导入到我的 App.js 文件中,并且我尝试了在线教程但无济于事。
我的组件文件中的 index.js 文件
export { default as NavBar } from './NavBar';
export { default as SearchForm } from './SearchForm';
export { default as Result } from './Result';
解决方案
请尝试定义布局。它可能看起来如下。
MainLayout = ({children}) => {
return (
<div id="app">
<header>
<NavBar />
</header>
<main>
{children}
<SearchForm/>
</main>
</div>
)
}
并且像这样定义路由器
<MainLayout>
<Switch>...
</MainLayout>
推荐阅读
- python - c++代码和python代码读取/dev/fb0 linux ubuntu16.4的区别
- indexing - 无法在 cassandra 表上为 Azure ACS 中的 lucene 搜索创建自定义索引
- datatable - 数据表过滤器未重绘表格
- gcc - push ebp:“push”的操作数类型不匹配
- html - 使用 Swift 4 滚动 WKWebview
- xcode - Xcode 中的拖放窗口
- php - 使用 PHP DOM 从页面获取链接
- javascript - 当 v-for 与对象的属性一起使用时,将 v-model 与复选框一起使用
- mysql - mysql数据库如何实时或在搜索请求中工作?
- django - Django 表单 __init__ 在 userprofileform 中不起作用