Реагировать состояние пусто при изменении маршрута - PullRequest
0 голосов
/ 29 мая 2018

У меня есть этот код:

constructor(props) {
    super(props);
    this.state = {
        setMenu: (window.location.pathname.split("/")[1] == '') ? '/' : window.location.pathname.split("/")[1]
    };

    this.menuItens = new Menu();
    this.menuItens = this.menuItens.Itens;
};

и в пункте меню моей боковой панели:

<NavLink tag={Link}
         to={item.path}
         title={item.title}                                                  
         onClick={this.setMenu}                                                  
         className={(this.state.setarMenu === item.title) ? 'active' : ''}>

        <span>{item.nome}</span>
</NavLink>

Я пытаюсь изменить состояние, вызывая функцию:

setMenu = (event) => {
    this.setState({setarMenu: event.target.title});
};

Но, к сожалению, иногда состояние не меняется, потому что имя window.location.pathname пусто.

Кто-нибудь знает, почему это происходит?

1 Ответ

0 голосов
/ 29 мая 2018

Решено, просто удалите тег компонента NavLink из Reactstrap, и он отлично работает.

Похоже, что с тегом span внутри NavLink компонент иногда возвращает только без атрибутов, таких как title = {item.title}, а не с атрибутами, которые мне нужны для «установки меню» (setState).

Кстати: в PT-BR мы пишем "item" no "iten", поэтому иногда мы его "пишем с ошибками".

Спасибо, ребята, в любом случае.

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