我有这段代码:
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是空的,有时状态不会改变。
任何人都知道为什么会这样?
答案 0 :(得分:0)
解决了,只需删除Reactstrap的NavLink组件的标签,它就可以正常工作。
看来,使用NavLink中的span标记,组件有时只返回没有title = {item.title}等属性,而不是我需要“设置菜单”(setState)的属性。
顺便说一句:在PT-BR中我们写“item”no“iten”,这就是为什么有时我们会拼错它。无论如何,谢谢你们。