Пожалуйста, помогите. Я пытаюсь добавить функциональность к моей панели навигации, чтобы при нажатии кнопки меню появлялась боковая панель навигации. Не работает Я много искал в Интернете. signedInLinks
- это скрипт, ссылки на который используются, если кто-то вошел в систему. Логическое значение true
- это заполнитель, который позже будет содержать auth.uid
, чтобы проверить, вошел ли человек в систему (если вы хотите помочь мне в этом. , пожалуйста, сделайте так же - когда я использую this.state.links, это выдает ошибку. Как я могу заставить мою программу отображать навигационную панель с функциональностью (всплывающее меню et c)?
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import SignedInLinks from './SignedInLinks';
import SignedOutLinks from './SignedOutLinks';
import { connect } from 'react-redux';
import { NavLink } from 'react-router-dom';
import "materialize-css/dist/css/materialize.min.css"
import M from 'materialize-css/dist/js/materialize.min.js';
class Navbar extends Component {
constructor(props) {
super(props);
this.state = {
auth : this.props,
links : this.props.auth.uid ? <SignedInLinks /> : <SignedOutLinks />
}
}
componentDidMount() {
const M=window.M;
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.sidenav');
M.Sidenav.init(elems, {});
});
}
render () {
return (
<div>
<nav className="nav-wrapper blue darken-4">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"></link>
<div class='container'>
<a href="/" className='brand-logo'>DSHS</a>
<a href="/" className="sidenav-trigger" data-target="mobile links">
<i className="material-icons">menu</i>
</a>
<ul className="right hide-on-med-and-down">
{true && <SignedInLinks />}
</ul>
</div>
</nav>
<ul className="sidenav" id="mobile-links">
{true && <SignedInLinks />}
</ul>
</div>
);
}
}
const mapStateToProps = (state) => {
return {
auth: state.firebase.auth
}
}
export default connect(mapStateToProps)(Navbar);