需要的效果是 点击那个菜单, 该菜单的图片和原色都变成金色,其他变成灰色。
我的代码如下, 无法实现, state中的index 无法改变
export default class Menu extends Component{
constructor (props) {
super(props);
this.state = {index: 0};
}
handleClick(i){
console.log(i);
console.log(this.state.index)
this.setState({
index: i
})
}
render(){
return(
<nav>
{
menu.map((menu,index)=>{
return(
menu.path==='/' ?
<IndexLink to={menu.path} key={index} activeClassName="active" onClick={this.handleClick.bind(this,index)}>
<img
src={this.state.index === index ? menu.activeImg : menu.img}
/>
<i>{menu.menuName}</i>
</IndexLink>
:
<Link to={menu.path} key={index} activeClassName="active" onClick={this.handleClick.bind(this,index)}>
<img
src={this.state.index === index ? menu.activeImg : menu.img}
/>
<i>{menu.menuName}</i>
</Link>
)
})
}
</nav>
)
}
}