Как сделать мобильную кнопку из меню начальной загрузки в React?

Прежде всего, чтобы ответить на вопрос о стандарте Map: Javascript Map, предложенный в ECMAScript 2015, не включает установщик для значений по умолчанию. Это, однако, не мешает вам реализовать эту функцию самостоятельно.

Если вы просто хотите распечатать список, всякий раз, когда m [whatever] не определено, вы можете просто: console.log(m.get('whatever') || []);, как указано Li357 в его комментарии.

Если вы хотите для повторного использования этой функции вы также можете инкапсулировать ее в такую ​​функцию, как:

function getMapValue(map, key) {
    return map.get(key) || [];
}

// And use it like:
const m = new Map();
console.log(getMapValue(m, 'whatever'));

Если это, однако, не удовлетворяет вашим потребностям и вы действительно хотите, чтобы карта имела значение по умолчанию, вы можете написать свой собственный класс карты для него, например:

class MapWithDefault extends Map {
  get(key) {
    return super.get(key) || this.default;
  }
  
  constructor(defaultValue) {
    super();
    this.default = defaultValue;
  }
}

// And use it like:
const m = new MapWithDefault([]);
console.log(m.get('whatever'));

0
задан kilogram 19 January 2019 в 19:21
поделиться

1 ответ

Ниже приведен пример из https://reactstrap.github.io/components/navbar/

, который использует реагирующий ремень, но может помочь вам понять, как это сделать в реакции [ 113]

import React from 'react';
import { Collapse, Navbar, NavbarToggler, NavbarBrand, Nav, NavItem, NavLink } from 'reactstrap';

export default class Example extends React.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">reactstrap</NavbarBrand>
          <NavbarToggler onClick={this.toggleNavbar} className="mr-2" />
          <Collapse isOpen={!this.state.collapsed} navbar>
            <Nav navbar>
              <NavItem>
                <NavLink href="/components/">Components</NavLink>
              </NavItem>
              <NavItem>
                <NavLink href="https://github.com/reactstrap/reactstrap">GitHub</NavLink>
              </NavItem>
            </Nav>
          </Collapse>
        </Navbar>
      </div>
    );
  }
}
0
ответ дан Rob 19 January 2019 в 19:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: