我试图做一个导航栏,以我的反应,应用程序,我用这个代码:ReactStrap navbar component
但是,导航栏图标不会出现在小型设备视图。
small devices navbar (icon is not show)
我NavBar.js
import React, {Component} from 'react';
import NavItems from "./NavItems";
import { Collapse, Navbar, NavbarToggler, NavbarBrand, Nav, NavItem, NavLink } from 'reactstrap';
class NavBar extends Component {
constructor(props) {
super(props);
this.toggleNavbar = this.toggleNavbar.bind(this);
this.state = {
collapsed: true
};
}
toggleNavbar() {
this.setState({
collapsed: !this.state.collapsed
});
}
render() {
return (
<div>
<Navbar color="faded" light>
<NavbarBrand href="/" className="mr-auto">Hoje para jantar</NavbarBrand>
<NavbarToggler onClick={this.toggleNavbar} className="mr-2" />
<Collapse isOpen={!this.state.collapsed} navbar>
<Nav navbar>
<NavItems>
<NavLink href="/components/">Components</NavLink>
</NavItems>
</Nav>
</Collapse>
</Navbar>
</div>
);
}
}
export default NavBar;
我猜你缺少在导航栏组件展开的道具。
如果您设置扩展道具“LG”例如,导航栏将增加对设备的图标比“LG”较小的宽度,比1200像素小:
<Navbar color="light" light expand="lg">...</Navbar
您也可以设定扩展道具“MD”或“SM”。
我尝试使用create-react-app
并整理出以下package.json
再现您的问题
{
"name": "so2",
"version": "0.1.0",
"private": true,
"dependencies": {
"bootstrap": "^4.0.0-beta.2",
"jquery": "^3.2.1",
"react": "^16.2.0",
"react-dom": "^16.2.0",
"react-popper": "^0.7.4",
"react-scripts": "1.0.17",
"reactstrap": "^5.0.0-alpha.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
}
我NavBar.js的版本,这是你的一个副本,而不线2,和25-27:
import React, {Component} from 'react';
// import NavItems from "./NavItems";
import { Collapse, Navbar, NavbarToggler, NavbarBrand, Nav, NavItem, NavLink } from 'reactstrap';
class NavBar extends Component {
constructor(props) {
super(props);
this.toggleNavbar = this.toggleNavbar.bind(this);
this.state = {
collapsed: true
};
}
toggleNavbar() {
this.setState({
collapsed: !this.state.collapsed
});
}
render() {
return (
<div>
<Navbar color="faded" light>
<NavbarBrand href="/" className="mr-auto">Hoje para jantar</NavbarBrand>
<NavbarToggler onClick={this.toggleNavbar} className="mr-2" />
<Collapse isOpen={!this.state.collapsed} navbar>
<Nav navbar>
{/*<NavItems>*/}
{/*<NavLink href="/components/">Components</NavLink>*/}
{/*</NavItems>*/}
</Nav>
</Collapse>
</Navbar>
</div>
);
}
}
export default NavBar;
而得到这个
在我自己的经验,我已经注意到,这是很容易通过实验或实施所需的更改引起的CSS冲突。我会做的是考验你对一个新的项目所做的任何修改CSS,发现故障,然后在原来的(工作)项目解决它。
我希望这可以帮助你,因为我只花了整个上午试图实验多个CSS文件和反应的组分。我希望我能提供更多的帮助,但我不能对尚未发表评论。祝好运!