Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 盖茨比:如果<;链接/>;是活动的吗?_Reactjs_Onclick_Toggle_Gatsby - Fatal编程技术网

Reactjs 盖茨比:如果<;链接/>;是活动的吗?

Reactjs 盖茨比:如果<;链接/>;是活动的吗?,reactjs,onclick,toggle,gatsby,Reactjs,Onclick,Toggle,Gatsby,伙计们!如果我的盖茨比链接处于活动状态,我想更改内部的样式。我想通过display:none隐藏/显示子菜单。但不知道如何将此参数从链接传递到其他位置。有什么想法吗?非常感谢 我试图获得或通过这一页上的状态,但也没有运气 return ( <li key={`sidebar-id${i}`}> <Link to={item.path} activeStyle={{ color: "red" }} partiallyActive={true}> {i

伙计们!如果我的盖茨比链接处于活动状态,我想更改内部的样式。我想通过
display:none
隐藏/显示子菜单。但不知道如何将此参数从链接传递到其他位置。有什么想法吗?非常感谢

我试图获得或通过这一页上的状态,但也没有运气

return (
  <li key={`sidebar-id${i}`}>
    <Link to={item.path} activeStyle={{ color: "red" }} partiallyActive={true}>
      {item.name}
    </Link>
    <ul className={`${styles.menu__secondLevel} small-body-text`} style={ifLinkisActive}>
      {subItems}
    </ul>
  </li>
);
返回(
  • {item.name}
      {子项}
  • );
    以下是侧边栏项目的全部代码:

    const SidebarItems = routes.map((item, i) => {
      // If Sidebar has sub items
      if (item.items) {
        // Loop trough sub items
        const subItems = item.items.map((subItem, j) => {
          return (
            <li key={`sidebar-id${j}`}>
              <Link to={subItem.path}>{subItem.name}</Link>
            </li>
          );
        });
        // Main menu with "subItems" variable
        return (
          <li key={`sidebar-id${i}`}>
            <Link
              to={item.path}
              activeStyle={{ color: "red" }}
              partiallyActive={true}
            >
              {item.name}
            </Link>
            <ul className={`${styles.menu__secondLevel} small-body-text`}>
              {subItems}
            </ul>
          </li>
        );
        // If doesn't have
      } else {
        return (
          <li key={`sidebar-id${i}`}>
            <Link to={item.path} activeStyle={{ color: "red" }}>
              {item.name}
            </Link>
          </li>
        );
      }
    });
    
    const SidebarItems=routes.map((项目,i)=>{
    //如果侧边栏有子项
    如果(项目.项目){
    //循环槽子项
    const subItems=item.items.map((subItem,j)=>{
    返回(
    
  • {subItem.name}
  • ); }); //带有“subItems”变量的主菜单 返回(
  • {item.name}
      {子项}
  • ); //如果没有 }否则{ 返回(
  • {item.name}
  • ); } });
    我想你可以用css解决这个问题。盖茨比的
    链接
    有一个
    activeClassName
    道具,它将把一个类附加到活动链接上。您可以使用css
    +
    选择器设置同级
    ul
    的样式

    a.active{
    颜色:红色;
    }
    .active+子菜单{
    显示:块;
    }
    .子菜单{
    显示:无;
    }
    
    
    • 子菜单

    我想你可以用css解决这个问题。盖茨比的
    链接
    有一个
    activeClassName
    道具,它将把一个类附加到活动链接上。您可以使用css
    +
    选择器设置同级
    ul
    的样式

    a.active{
    颜色:红色;
    }
    .active+子菜单{
    显示:块;
    }
    .子菜单{
    显示:无;
    }
    
    
    • 子菜单

    谢谢你,Darek的帮助。我想了想,这是一个很好的决定:-)但我想呆在
  • 里面以便于访问,也可能是我做错了什么,还有另一种方法:-)@PavelLaptev我只是在模仿你的结构-你有
    &
  • 里面,彼此相邻。也许我误解了你的问题,你能再澄清一点吗?是我,达瑞克。我很愚蠢:-)没有注意到,对不起。谢谢你again@pavelLaptev哈哈,不用担心,很高兴它有帮助!我确信有一种更具反应性的方法来处理这个问题(这不涉及css)。如果我有什么想法,我会补充答案。太好了!我打算深入研究redux:)谢谢你,Darek的帮助。我想了想,这是一个很好的决定:-)但我想呆在
  • 里面以便于访问,也可能是我做错了什么,还有另一种方法:-)@PavelLaptev我只是在模仿你的结构-你有
    &
  • 里面,彼此相邻。也许我误解了你的问题,你能再澄清一点吗?是我,达瑞克。我很愚蠢:-)没有注意到,对不起。谢谢你again@pavelLaptev哈哈,不用担心,很高兴它有帮助!我确信有一种更具反应性的方法来处理这个问题(这不涉及css)。如果我有什么想法,我会补充答案。太好了!我打算深入研究redux:)