gpt4 book ai didi

reactjs - 在 Navlink 上处于事件状态时渲染不同的组件

转载 作者:行者123 更新时间:2023-12-03 14:00:55 25 4
gpt4 key购买 nike

我正在使用 react-routerNavLink 组件来显示侧边栏菜单,并且在 NavLink 内部有一个图标。我想更改图标,以便当链接处于事件状态时图标被填充。代码是这样的:

<NavLink
to={route}
exact
activeClassName="selected"
>
<Icon>{icon}</Icon>
</NavLink>

有没有办法在 NavLink 组件内渲染不同的组件?

最佳答案

您可以在渲染函数中执行类似的操作:

class YourComponent extends React.Component {
render() {
var isActive = this.context.router.route.location.pathname === this.props.to;

return(
<NavLink
to={route}
exact
activeClassName="selected"
>
<Icon>{isActive && icon || otherIcon}</Icon>
</NavLink>
);
}
}

NavLink.contextTypes = {
router: PropTypes.object
};

通过这种方式,您实际上可以检查正在渲染的路线是否处于事件状态,并在万一选择正确的图标

关于reactjs - 在 Navlink 上处于事件状态时渲染不同的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51591811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com