我正在尝试使用引导下拉菜单更改/加载路由器,请帮助我执行此操作
<Router>
<nav>
<Link to="/"> Home </Link>
<Link to="login"> Login </Link>
<Link to="products"> Products </Link>
</nav>
<Dropdown className="dropdown-groove">
<Dropdown.Toggle variant="link" id="dropdown-basic">
{selectedItem}
</Dropdown.Toggle>
<Dropdown.Menu>
<Dropdown.Item
href="#/action-1"
onClick={() => setSelectedItem("Login")}
>
Login
</Dropdown.Item>
<Dropdown.Item
href="#/action-1"
onClick={() => setSelectedItem("Products")}
>
Products
</Dropdown.Item>
</Dropdown.Menu>
</Dropdown>
<Routes>
<Route path="/" element={<Home />} />
<Route path="login" element={<Login />} />
<Route path="products" element={<Products />}/>
</Routes>
</Router>
https://codesandbox.io/s/router-change-on-bs-dropdown-tb4qsj
如果我正确理解您的问题,您是在问如何影响下拉菜单中的导航操作,特别是Dropdown.Item
成分。
渲染每个下拉项as a Link
组件并提供适当的链接道具。
Example:
<Dropdown className="dropdown-groove">
<Dropdown.Toggle variant="link" id="dropdown-basic">
{selectedItem}
</Dropdown.Toggle>
<Dropdown.Menu>
<Dropdown.Item
as={Link} // <-- as a Link
to="/login" // <-- to target
onClick={() => setSelectedItem("Login")}
>
Login
</Dropdown.Item>
<Dropdown.Item
as={Link} // <-- as a Link
to="/products" // <-- to target
onClick={() => setSelectedItem("Products")}
>
Products
</Dropdown.Item>
</Dropdown.Menu>
</Dropdown>
![Edit how-to-change-pages-via-react-router-with-bootstrap-dropdown](https://codesandbox.io/static/img/play-codesandbox.svg)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)