У меня есть раскрывающееся меню, созданное с использованием реакции-начальной загрузки. Текущий не открывается второй раз после выбора опции из выпадающего списка. Пользователь должен щелкнуть меню где-нибудь, чтобы оно снова заработало. Кажется, что меню сохраняет состояние от первоначального щелчка, что означает, что оно не работает во второй раз.
Это относится только к мобильным устройствам, отлично работает на немобильных устройствах.
См. Код для меню ниже:
<NavDropdown
onToggle={this.onToggle}
onMouseEnter = { () => this.setState({ isOpen: true }) }
onMouseLeave = { () => this.setState({ isOpen: false }) }
open={ this.state.isOpen }
noCaret
eventKey={3}
title="Account"
id="nav-mega-dropdown"
>
<LinkContainer to="/app/account" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.1}>Public Profile</NavItem></LinkContainer>
{ this.props.isSupplier ? <LinkContainer to="/app/account/business" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.2}>Business Details</NavItem></LinkContainer> : null }
<LinkContainer to="/app/account/schedule" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.3}>Schedule</NavItem></LinkContainer>
{ this.props.isSupplier ? <LinkContainer to="/app/account/users" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.4}>Users</NavItem></LinkContainer> : null }
<LinkContainer to="/app/account/sessions" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.5}>Sessions</NavItem></LinkContainer>
{ this.props.isSupplier ? <LinkContainer to="/app/account/subscription" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.6}>Subscription</NavItem></LinkContainer> : null }
<LinkContainer to="/app/account/locations" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.7}>Locations</NavItem></LinkContainer>
<LinkContainer to="/app/account/settings" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.8}>Password</NavItem></LinkContainer>
<LinkContainer to="/app/account/holidays" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.9}>Holidays</NavItem></LinkContainer>
{ this.props.isSupplier ? <LinkContainer to="/app/account/visibility" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.10}>Visibility</NavItem></LinkContainer> : null }
</NavDropdown>