首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将路由添加到导航栏(反应性和顺风)

将路由添加到导航栏(反应性和顺风)
EN

Stack Overflow用户
提问于 2022-08-30 12:51:42
回答 2查看 154关注 0票数 1
代码语言:javascript
复制
import { useState } from "react";
const App = () => {
  const [open, setOpen] = useState(true);
  const Menus = [
    { title: "Home", src: "0" },
    { title: "Site1", src: "1", gap: true },
    { title: "Site2 ", src: "2" },
    { title: "Site3", src: "3" },
    { title: "Site4", src: "4" }
  ];

  return (
    <div className="flex">
      <div
        className={` ${
          open ? "w-72" : "w-20 "
        } bg-gray-800 p-5  pt-8 sticky top-0 left-0 h-[930px] duration-300`}
      >
        <img
          src="./src/assets/control.png"
          className={`absolute cursor-pointer -right-3 top-9 w-7 border-dark-purple
           border-2 rounded-full  ${!open && "rotate-180"}`}
          onClick={() => setOpen(!open)}
        />
        <div className="flex gap-x-4 items-center">
          <img
            src="./src/assets/logo.png"
            className={`cursor-pointer duration-500 ${
              open && "rotate-[360deg]"
            }`}
          />
          <h1
            className={`text-white origin-left font-medium text-xl duration-200 ${
              !open && "scale-0"
            }`}
          >
            Site
          </h1>
        </div>
        <ul className="pt-6">
          {Menus.map((Menu, index) => (
            <li
              key={index}
              className={`flex  rounded-MD p-2 cursor-pointer hover:bg-light-white text-gray-300 text-sm items-center gap-x-4 
              ${Menu.gap ? "mt-9" : "mt-2"} ${
                index === 0 && "bg-light-white"
              } `}
            >
              <img src={`./src/assets/${Menu.src}.png`} />
              <span className={`${!open && "hidden"} origin-left duration-200`}>
                {Menu.title}
              </span>
            </li>
          ))}
        </ul>
      </div>

这是我在遵循本教程之后获得的代码:教程

如何将其他页面链接到导航栏?因此,例如,单击Site1会将用户引导到Site1?

问题是,在这种情况下,我不能使用标签或hfref,而且我不知道如何解决我的问题,因为我只是在学习反应。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-30 13:37:12

你可以在这里做很多事。如果您想继续使用可点击的按钮,可以使用反应路由器,并为每个Menu添加一个onClick={() => router.push(Menu.title)} (取决于您实际的url是什么)。

否则,可以使用a标记而不是span标记,后者可以接收href={Menu.title}。这里的缺点是您必须再次对它们进行样式设置,因为a标记具有特定于浏览器的默认样式。

票数 0
EN

Stack Overflow用户

发布于 2022-08-30 13:19:14

查看并阅读React路由器:https://reactrouter.com/en/main/getting-started/tutorial

若要创建链接,请使用标记而不是标记

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73542784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档