【问题标题】:Navbar dropdowns stop working when added a modal添加模式后,导航栏下拉菜单停止工作
【发布时间】:2020-11-07 13:30:52
【问题描述】:

在调用模态表单后,我遇到了一个奇怪的问题,导航栏下拉菜单停止工作。

有什么线索吗?

这是我的代码的链接:https://codesandbox.io/s/great-stonebraker-hfcln?fontsize=14&hidenavigation=1&theme=dark

重现问题: 从导航栏转到主数据 > 客户 > 模式表单将打开 > 关闭模式表单 > 然后返回菜单并打开主数据下拉菜单。

【问题讨论】:

    标签: reactjs react-bootstrap


    【解决方案1】:

    我找到了解决方案,
    基本上我们需要将 Navbar.Item 转换为 Link,这样可以避免嵌套到锚点。我的代码现在看起来像这样: <NavDropdown.Item as={Link} to="/customers">Customers</NavDropdown.Item>

    【讨论】:

      【解决方案2】:

      使用 react 路由器的链接导航:

      import { Link } from "react-router-dom";
      

      在 MainNav 组件中:

      <Link to="/customers">
        <NavDropdown.Item >Customers</NavDropdown.Item>
      </Link>
      

      https://codesandbox.io/s/eloquent-bash-tkhn8?file=/src/mainnav.jsx

      Href 将页面重定向到特定位置(页面重定向,应用程序状态丢失)。来自 react-router-dom 的链接允许您导航到不同的路由,页面加载保留您的 react 应用程序的状态(内部路由)。

      【讨论】:

      • 能否详细说明原因?
      • 我同意你的说法,但同时我们正在渲染两个链接,因为我看到了这个警告:validateDOMNesting(...): 不能作为 的后代出现。
      • 您的解释实际上帮助我找到了正确的解决方案,非常感谢。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-06
      • 1970-01-01
      • 2020-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多