带有 Reactstrap 和 React Router Dom 的 Active NavLink

阿尔贝托

我正在为我的应用程序构建导航栏组件,但我在使用 activeClassName 道具时遇到了问题。当我在链接之间更改时,它不会更改任何类或样式。我已经尝试了我在互联网上看到的所有内容,但没有任何结果。也许有人可以就这个问题给我一个建议。

我的进口:

import React from 'react';
import { NavLink as RRNavLink } from 'react-router-dom';
import { Nav, NavItem, NavLink } from 'reactstrap';

这是我到目前为止的代码:

    <Nav className="navbar-logged">
      <NavItem>
        <NavLink
          className="nav-link-gdc"
          activeClassName="active"
          to="/home"
          tag={RRNavLink}
        >
            INICIO
        </NavLink>
      </NavItem>
      <NavItem>
        <NavLink
          className="nav-link-gdc"
          activeClassName="active"
          to="/secondLink"
          tag={RRNavLink}
        >
            secondLink
        </NavLink>
      </NavItem>
      <NavItem>
        <NavLink
          className="nav-link-gdc"
          activeClassName="active"
          to="/thirdLink"
          tag={RRNavLink}
        >
            thirdLink
        </NavLink>
      </NavItem>
    </Nav>

谢谢你

黄廷

一个可能的原因是您使用 Redux 来管理应用程序的状态

https://github.com/reactjs/react-redux/blob/master/docs/troubleshooting.md#my-views-arent-updating-when-something-changes-outside-of-redux

如果您的视图依赖于全局状态或 React “上下文”,您可能会发现使用 connect() 修饰的视图将无法更新。

这是因为 connect() 默认实现了 shouldComponentUpdate,假设你的组件在给定相同的 props 和 state 的情况下会产生相同的结果。这是一个类似于 React 的 PureRenderMixin 的概念。

最快(不是最好的)解决方案是将 pure: false 选项传递给具有 NavLink(s) 的组件的 connect() 函数(在我的情况下是标题)

function mapStateToProps(state) {
  return { test: state.test}
}

export default connect(mapStateToProps, null, null, {
  pure: false
})(Header)

这将消除 Header 是纯的假设,并使其在其父组件呈现时更新。请注意,这会降低您的应用程序的性能,因此只有在您别无选择时才这样做。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React Router NavLink和activeClassName的问题

来自分类Dev

React Router dom将活动类设置为NavLink

来自分类Dev

react-router-dom NavLink isActive 不能正常工作

来自分类Dev

模拟React-Router-dom useHistory和其他带有笑话的钩子

来自分类Dev

可以使用带有react-hook-form和react-input-mask的reactstrap吗?

来自分类Dev

NavLink确切道具不适用于react-router-dom 6

来自分类Dev

NavLink不添加activeClassName(react-router-dom v5.2.0)

来自分类Dev

如何使用来自 react-router-dom 的 Mocha 测试“NavLink”

来自分类Dev

react-router-dom NavLink 图标更新程序“已超出最大更新深度。”

来自分类Dev

带有react-router-dom链接的SpeedDialAction

来自分类Dev

React-Router NavLink活动颜色

来自分类Dev

react-router-dom 中的第二个和后续路由没有被渲染?

来自分类Dev

如何使用带有typescript的react router dom导航到新页面

来自分类Dev

TypeError:undefined不是带有React-router-dom的对象(评估“ undefined.state”)

来自分类Dev

react-router-dom和Typescript不显示组件

来自分类Dev

react-router-dom嵌套的路由和重定向

来自分类Dev

React Router-在Navlink中不处理OnClick

来自分类Dev

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

来自分类Dev

如何使用带有react-redux的react-router-dom v6.0.0渲染不同的组件

来自分类Dev

react-router-dom从具有自定义组件和额外路径的路由获取ID

来自分类Dev

带有KOA的React Router的同构React

来自分类Dev

带有 React.js 的 SSR(create-react-app、react-router v4、redux 和 sagas)

来自分类Dev

React Router Dom的<Switch>问题

来自分类Dev

React测试库,动态导入和React Router DOM始终呈现未找到的组件

来自分类Dev

使用react-query和react-router-dom进行缓存

来自分类Dev

react-router-dom 不能与 express 和 react 结合使用

来自分类Dev

react-router-dom中location.pathname和match.url的区别?

来自分类Dev

如何使用react-intl,react-router-dom v4和TypeScript对React组件进行单元测试

来自分类Dev

带有 Typescript 的 React Router 未定义“React”

Related 相关文章

  1. 1

    React Router NavLink和activeClassName的问题

  2. 2

    React Router dom将活动类设置为NavLink

  3. 3

    react-router-dom NavLink isActive 不能正常工作

  4. 4

    模拟React-Router-dom useHistory和其他带有笑话的钩子

  5. 5

    可以使用带有react-hook-form和react-input-mask的reactstrap吗?

  6. 6

    NavLink确切道具不适用于react-router-dom 6

  7. 7

    NavLink不添加activeClassName(react-router-dom v5.2.0)

  8. 8

    如何使用来自 react-router-dom 的 Mocha 测试“NavLink”

  9. 9

    react-router-dom NavLink 图标更新程序“已超出最大更新深度。”

  10. 10

    带有react-router-dom链接的SpeedDialAction

  11. 11

    React-Router NavLink活动颜色

  12. 12

    react-router-dom 中的第二个和后续路由没有被渲染?

  13. 13

    如何使用带有typescript的react router dom导航到新页面

  14. 14

    TypeError:undefined不是带有React-router-dom的对象(评估“ undefined.state”)

  15. 15

    react-router-dom和Typescript不显示组件

  16. 16

    react-router-dom嵌套的路由和重定向

  17. 17

    React Router-在Navlink中不处理OnClick

  18. 18

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

  19. 19

    如何使用带有react-redux的react-router-dom v6.0.0渲染不同的组件

  20. 20

    react-router-dom从具有自定义组件和额外路径的路由获取ID

  21. 21

    带有KOA的React Router的同构React

  22. 22

    带有 React.js 的 SSR(create-react-app、react-router v4、redux 和 sagas)

  23. 23

    React Router Dom的<Switch>问题

  24. 24

    React测试库,动态导入和React Router DOM始终呈现未找到的组件

  25. 25

    使用react-query和react-router-dom进行缓存

  26. 26

    react-router-dom 不能与 express 和 react 结合使用

  27. 27

    react-router-dom中location.pathname和match.url的区别?

  28. 28

    如何使用react-intl,react-router-dom v4和TypeScript对React组件进行单元测试

  29. 29

    带有 Typescript 的 React Router 未定义“React”

热门标签

归档