You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Bootstrap 5中为NavDropdown添加react-router-dom的Link问题

问题原因及解决方法

你直接给NavDropdown组件设置as={Link}和to属性是无效的——NavDropdown只是下拉菜单的容器组件,本身不负责触发路由跳转,需要把路由绑定到实际可点击的元素上,分两种场景处理:

场景1:点击下拉触发按钮跳转页面(同时展开下拉)

将NavDropdown.Toggle设置为Link组件,代码示例:

import { Link } from 'react-router-dom';
import { NavDropdown } from 'react-bootstrap';

<NavDropdown
  id="basic-nav-dropdown"
  renderMenuOnMount={true}
>
  <NavDropdown.Toggle as={Link} to="/InStoreRestaurant">
    In store restaurant
  </NavDropdown.Toggle>
  {/* 下拉菜单项 */}
  <NavDropdown.Item>示例菜单项1</NavDropdown.Item>
</NavDropdown>

场景2:点击下拉菜单项跳转页面

给NavDropdown.Item绑定Link,代码示例:

import { Link } from 'react-router-dom';
import { NavDropdown } from 'react-bootstrap';

<NavDropdown
  title="In store restaurant"
  id="basic-nav-dropdown"
  renderMenuOnMount={true}
>
  <NavDropdown.Item as={Link} to="/InStoreRestaurant">
    进入到店餐厅页面
  </NavDropdown.Item>
  {/* 其他菜单项 */}
</NavDropdown>

额外注意:

  • 确认已正确导入react-router-dom的Link组件
  • 路由配置中存在/InStoreRestaurant对应的路由规则

内容的提问来源于stack exchange,提问作者user14918901

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 03:10:22