Как открыть активное меню при посещении пользователем URL-адреса вручную - PullRequest
0 голосов
/ 09 апреля 2020

Я думаю, что это глупый вопрос, но поверьте мне, я новичок в React. На самом деле я работаю над приложением, где у меня есть другое складное меню. Например, когда я нажимаю на меню, затем раскрывающееся меню показывает, чего я хочу достичь, когда пользователь копирует ссылку вручную и помещает ее в браузер, затем я хочу показать конкретное c меню. Может кто-нибудь, пожалуйста, помогите мне, как достичь этой цели.

код

menus.map((item, index) => (
                  <UnlockAccess
                    currentUser={userType || null}
                    roles={item.roles}
                    key={index}
                  >
                    <div key={index}>
                      <p
                        onClick={() => {
                          this.RouteTo(`/${item.url}`);
                          this.toggle(item.id);
                        }}
                        className={`element ${this.state[item.activeTab]}`}
                      >
                        <span
                          className={
                            collapse === item.id ? "fa fa-minus" : "fa fa-plus"
                          }
                          key={index}
                        ></span>
                        <p className={this.state[item.activeTab]}>
                          {item.name}
                        </p>
                      </p>
                      {collapse === item.id ? (
                        <div className="prop-child">
                          <ul>
                            {item.children.map((item, index) => (
                              <li
                                key={index}
                                className={this.state[item.activeTab]}
                                onClick={() =>
                                  this.setState({ collapse: item.itemId }, () =>
                                    this.toggle(item.itemId)
                                  )
                                }
                              >
                                <Link
                                  onClick={() => this.RouteTo(`/${item.url}`)}
                                  to={item.url}
                                  className={this.state[item.activeTab]}
                                >
                                  {item.name}
                                </Link>
                              </li>
                            ))}
                          </ul>
                        </div>
                      ) : null} 



toggle = (id) => {
    if (!this.state.collapse || id !== this.state.collapse) {
      this.setState({
        collapse: id,
      });
    }
  };

1 Ответ

0 голосов
/ 09 апреля 2020

Просто проверьте параметры URL в componentDidMount вашего класса. Затем откройте меню, которое вы хотите открыть.

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