如何通过带有 Bootstrap 下拉菜单的 React Router 更改页面?
How to Change pages via react Router with Bootstrap Dropdown?
我正在尝试 change/load 带有 bootstrap 下拉菜单的路由器,请帮助我完成此操作
<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
组件。
将每个下拉项 呈现为 一个 Link
组件并提供适当的 link 道具。
示例:
<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>
我正在尝试 change/load 带有 bootstrap 下拉菜单的路由器,请帮助我完成此操作
<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
组件。
将每个下拉项 呈现为 一个 Link
组件并提供适当的 link 道具。
示例:
<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>