【问题标题】:Using a map within a map conditionally rendering data在地图中使用地图有条件地呈现数据
【发布时间】:2021-08-17 23:37:22
【问题描述】:

我目前正在映射一些本地 JSON 数据并尝试根据其名称渲染每个对象,

目前,我已在其上映射显示每个名称,现在有条件地检查和映射每个特定数据,只是试图在此处获取正确的语法。

import menu from "./data/menudata";

const MenuBar = () => {
  return (
    <MenuContainer>
      {menu.children.map((outerMap, i) => (
        <Dropdown>
          <DropBtn key={i}>
            <h2>{outerMap.name}</h2>
          </DropBtn>
          <DropdownContent>
           {outerMap.name === 'Account' && (
           
              {menu.firstchild.map((innerMap, i) => 
                <li>{firstchild.name}</li>
                )}
           )
           } 
          </DropdownContent>
        </Dropdown>
      ))}
    </MenuContainer>
  );
};

export default MenuBar;

innermap 是我无法编译的地方,这里也是 JSON 代码的 sn-p,

"name": "menu",
  "children": [
    {
      "name": "Account",
      "firstchild": [
        {
          "name": "Preference"
        },
        {
          "name": "Contact"
        },
        {
          "name": "Manage"
        }
      ]
    },
    {
      "name": "Design",
      "secondchild": [
        {
          "name": "Theme"
        },
        {
          "name": "Gallery"
        },
        {
          "name": "Template"
        }
      ]
    },

谢谢

【问题讨论】:

    标签: javascript arrays json reactjs array.prototype.map


    【解决方案1】:

    应该是outerMap.firstchild 而不是menu.firstchild

    {outerMap.name === 'Account' &amp;&amp; outerMap.firstchild.map((innerMap, i) =&gt; ...)}

    【讨论】:

    • 干杯基本上不需要条件语句中的第二组花括号
    猜你喜欢
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    • 2021-05-11
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    相关资源
    最近更新 更多