如何在 react-router-dom v6 的活动 NavLink 中显示不同的图标?

海滩维尔马

我想在特定导航链接处于活动状态时显示不同的图标。

我做了一个新组件

import React, { useState } from "react";
import { NavLink } from "react-router-dom";

const CustomNavLink = ({ to, activeIcon, inActiveIcon }) => {
  const [isActive, setIsActive] = useState(false);
  const changeActive = ({ isActive }) => setIsActive(isActive);
  return (
    <NavLink to={to} className={changeActive}>
      {isActive ? activeIcon : inActiveIcon}
    </NavLink>
  );
};

export default CustomNavLink;

在此处输入图像描述但是当我使用这段代码时,它给了我这个错误。如何解决这个错误?

德鲁里斯

NavLink已经有自己的内部状态isActive,没有必要复制它。className道具应返回字符串类型或未定义。使用childrenprop 函数,而不是尝试在渲染期间将状态更新排入队列。

例子:

import React, { useState } from "react";
import { NavLink } from "react-router-dom";

const CustomNavLink = ({ to, activeIcon, inActiveIcon }) => {
  return (
    <NavLink
      to={to}
      children={({ isActive }) => isActive ? activeIcon : inActiveIcon}
    />
  );
};

export default CustomNavLink;

要么

const CustomNavLink = ({ to, activeIcon, inActiveIcon }) => {
  return (
    <NavLink to={to}>
      {({ isActive }) => isActive ? activeIcon : inActiveIcon}
    </NavLink>
  );
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根Navlink始终获得活动类React Router Dom

Reactstrap和React-router 4.0.0-beta.6-活动<NavLink>

React Router v4 NavLink活动路由

为什么mobx-react观察者会中断react-router-dom navlink活动类?

来自react-router-dom Home的Navlink始终处于活动状态

如何在React-Router-Dom NavLink单击时强制重新渲染React-Redux组件?

活动类在react-router-dom库的NavLink中不起作用

在React Router v6中,如何在离开页面/路由之前检查表单是否脏

React-Router NavLink活动颜色

React Router dom将活动类设置为NavLink

如何在react-router-dom v6中返回上一条路由

如何包装React Router v4的NavLink组件?

如何在课堂上从 react-router-dom v6 获取参数值

在 react-router-dom v6 中的 history.replace

react-router-dom > NavLink > 多个 activeClassName?

如何在 React Router v6 中重定向?

如何導航到 React Router Dom V6 中的嵌套路由

如何使用 react-router-dom v6 渲染具有不同佈局/元素的組件

react-router-dom V6 中的嵌套路由

在 React js react-router-dom V6 中實現嵌套路由

React Router Dom v6 中的重定向

在 react-router-dom (v6) 中使用 Navlink 傳遞道具

React Router Dom V6 中的 <Link> 标记未按预期工作

React Router V6 NavLink 未显示为活动状态

如何在 react-router v6 中的树结构中创建深层路径

React Router Dom V6 嵌套路由属性

我如何将其升级到 react-router-dom v6

React router v6:如何获取组件中的相对索引路径?

React-Router-Dom v6 中的重定向