Burger Menu с React Redux не работает - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь сделать свое собственное меню гамбургеров в реагирующем редуксе.Но у этого есть некоторые проблемы, которые делают это, и другие компоненты не могут быть предоставлены.Это мой actions.js:

const TOGGLE_MENU = 'TOGGLE_MENU';

export const toggleMenu = () => {
  return {
    type: TOGGLE_MENU
  };
};

Это мой burgerMenu.js - редуктор:

const burgerMenu = (state = { isToggled: false }, action) => {
  switch (action.type) {
    case TOGGLE_MENU:
        return { isToggled: !state.isToggled };
    default:
        return state;
  }
}

export default burgerMenu;

BurgerMenuContainer.js - компонент контейнера:

import BurgerMenu from './BurgerMenu'
import { toggleMenu } from '../actions';

const mapStateToProps = state => {
  return { isToggled: state.isToggled };
};

const mapDispatchToProps = dispatch => {
  return { onClick: () => dispatch(toggleMenu()) };
};

export default connect(mapStateToProps, mapDispatchToProps)(BurgerMenu);

BurgerMenu.js - компонент представления:

const BurgerMenu = ({ isToggled, onClick }) => (
    <div onClick={ onClick } className={isToggled ? "burger-menu" : "burger-menu menu-on"}>
        <div className="burger"></div>  
    </div>
);

BurgerMenu.propTypes = {
  onClick: PropTypes.func.isRequired,
  isToggled: PropTypes.bool.isRequired
};

export default BurgerMenu;

И Header.js содержит контейнер меню бургера:

import BurgerMenuContainer from './BurgerMenuContainer';

const Header = (props) => {
  return (
  <header className="header">
    <BurgerMenuContainer/>
  </header>);
}

export default Header;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...