【发布时间】:2020-10-01 23:30:27
【问题描述】:
我将锚标记更改为链接标记,整个组件不显示。值得注意的是,我使用了锚标记并且它被正确渲染。但是,更改为 Link 标记后,将不再显示任何内容。下面是我的代码:
导航栏组件
import React, {Component} from 'react';
import { Link } from 'react-router';
class Navbar extends Component {
render() {
return (
<div className="Navbar">
<ul className="navbar-list">
<li className="active"><Link to={"/home"}>Home</Link></li>
<li><Link to={"/about"}>About Us</Link></li>
<li><Link to={"/pricing"}>Pricing</Link></li>
</ul>
</div>
)
}
}
export default Navbar
css
.navbar-list {
list-style-type: none;
padding: 0;
margin: 0;
overflow: hidden;
background-color: #333;
}
.navbar-list li{
float: left;
}
.navbar-list li Link {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
.navbar-list li Link:hover{
background-color: #111 ;
}
.active {
background-color: #4CAF50;
}
App.js 文件
class App extends Component {
render() {
return (
<div className="App">
<Navbar />
</div>
);
}
}
export default App;
【问题讨论】:
-
NavBar是否在Router中呈现?我相信这样做是为了使Links 可以渲染。您在控制台中看到任何反应警告吗? -
你应该检查你正在使用的 react-router 版本。并阅读相应版本的文档。还要在你的css中用“a”替换“Link”。渲染后Link作为锚标签存在于dom中。
标签: javascript html css reactjs react-router