我正在尝试使用reactjs填充html内容,即导航下拉菜单。我变得行为不明,我无法显示下拉菜单导航栏。
我的代码:
const Header = ({allnavitems, loading, SiteConfig, user}) => {
if (loading) {
return <div><p>Loading...</p></div>
}
console.log(allnavitems)
if( allnavitems.links.length !== 0){
return(
<nav className="navbar navbar-expand-lg navbar-light bg-light">
<a className="navbar-brand" href="#">Crikit</a>
<button className="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span className="navbar-toggler-icon"></span>
</button>
<div className="collapse navbar-collapse" id="navbarSupportedContent">
<ul className="navbar-nav mr-auto">
{allnavitems.map((allnavitems) => <Heading heading={allnavitems} />)}
</ul>
<form className="form-inline my-2 my-lg-0">
<input className="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search"/>
<button className="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
</nav>
)
}
};
const Heading = ({allnavitems}) => <NavDropdown links={allnavitems.links} heading={allnavitems.heading}/>
const NavDropdown = ({title, links}) => (
<li className="nav-item dropdown">
<a className="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{title}
</a>
<div className="dropdown-menu" aria-labelledby="navbarDropdown">
{links.map(({link='#', heading}) => <NavLink link={link} heading={heading}/>)}
</div>
</li>
);
const NavLink = ({link='#', heading}) => (
<a className="dropdown-item" href={link}>{heading}</a>
);
上面的代码不显示导航栏。
在网页上我只能看到加载。。。在导航栏中没有导航项为什么?(查看屏幕截图)
我想展示类似的东西:(查看下面的截图)