【发布时间】:2020-11-07 13:30:52
【问题描述】:
在调用模态表单后,我遇到了一个奇怪的问题,导航栏下拉菜单停止工作。
有什么线索吗?
这是我的代码的链接:https://codesandbox.io/s/great-stonebraker-hfcln?fontsize=14&hidenavigation=1&theme=dark
重现问题: 从导航栏转到主数据 > 客户 > 模式表单将打开 > 关闭模式表单 > 然后返回菜单并打开主数据下拉菜单。
【问题讨论】:
在调用模态表单后,我遇到了一个奇怪的问题,导航栏下拉菜单停止工作。
有什么线索吗?
这是我的代码的链接:https://codesandbox.io/s/great-stonebraker-hfcln?fontsize=14&hidenavigation=1&theme=dark
重现问题: 从导航栏转到主数据 > 客户 > 模式表单将打开 > 关闭模式表单 > 然后返回菜单并打开主数据下拉菜单。
【问题讨论】:
我找到了解决方案,
基本上我们需要将 Navbar.Item 转换为 Link,这样可以避免嵌套到锚点。我的代码现在看起来像这样:
<NavDropdown.Item as={Link} to="/customers">Customers</NavDropdown.Item>
【讨论】:
使用 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 应用程序的状态(内部路由)。