render()

in src/components/SiderMenu/SiderMenu.js [316:366]


  render() {
    this.updateMenuData();
    const { menuData, collapsed, onCollapse, TitleLogo } = this.props;
    const { openKeys } = this.state;
    // Don't show popup menu when it is been collapsed
    const menuProps = collapsed
      ? {}
      : {
          openKeys,
        };
    // if pathname can't match, use the nearest parent's key
    let selectedKeys = this.getSelectedMenuKeys();
    if (!selectedKeys.length) {
      selectedKeys = [openKeys[openKeys.length - 1]];
    }

    return (
      <Sider
        trigger={null}
        collapsible
        collapsed={collapsed}
        breakpoint="lg"
        onCollapse={onCollapse}
        width={220}
        className={styles.sider}
      >
        <Link to="/">
          <div className={styles.logo} key="logo">
            <img className={styles.TitleLogo} src={TitleLogo} alt="logo" />
          </div>
        </Link>
        <Switch
          onChange={this.changeMode}
          checkedChildren="Change Mode"
          unCheckedChildren="Change Mode"
          className={styles.changeMode}
        />
        <Menu
          key="Menu"
          theme={this.state.theme}
          mode={this.state.mode}
          {...menuProps}
          onOpenChange={this.handleOpenChange}
          selectedKeys={selectedKeys}
          style={{ padding: "16px 0", width: "100%" }}
        >
          {this.getNavMenuItems(menuData)}
        </Menu>
      </Sider>
    );
  }