【问题标题】:how can i get the child in react我怎样才能让孩子做出反应
【发布时间】:2021-09-06 07:06:17
【问题描述】:
const navArr = [
  {
    path: "/introduction",
    title: "회사소개",
    subTitle: [{ title: "summary" }, { title: "vision" }],
  },
]

{navArr.map((obj) => {
          return (
            <NavItem>
              <MenuItem onClick={handleHoverToggle} className={classes.navItem}>
                {obj.title}
              </MenuItem>
            </NavItem>
          );
        })}

我想访问副标题中的标题。如何微妙地访问标题。我想插入它而不是'{obj.title}'

【问题讨论】:

    标签: javascript arrays reactjs object


    【解决方案1】:

    因为subTitle 也是一个数组,所以你需要再次映射它:

    类似这样的:

    <NavItem>
      <MenuItem onClick={handleHoverToggle} className={classes.navItem}>
        {obj.subTitle.map(sub => sub.title).join(',')}
      </MenuItem>
    </NavItem>;
    

    【讨论】:

    • 谢谢!但是,发生 'TypeError: Cannot read property 'map' of undefined'
    • 您能否验证您的 OP 是不是 subTitle 而不是 title
    • 哦!副标题中的标题错误,我将副标题中的标题更改为标题子,很好!谢谢!!
    【解决方案2】:

    您的 subTitle 是一个数组,并假设您希望 subTitle 中的每个标题都作为 MenuItem

    解决方案:

    const navArr = [
      {
        path: "/introduction",
        title: "회사소개",
        subTitle: [{ title: "summary" }, { title: "vision" }],
      },
    ]
    
    {navArr.map((obj) => {
              return (
                <NavItem>
                    {obj.subTitle.map(item=>{
                    return(
                        <MenuItem onClick={handleHoverToggle} className={classes.navItem}>
                            {item.title}
                        </MenuItem>
                    ) } ) }
                </NavItem>
              );
            })}
    

    【讨论】:

    • 谢谢!但是,subTitle 中的标题与 1 深度的标题相同,这是错误的。感谢您的帮助,我解决了这个问题!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    • 1970-01-01
    • 2017-09-26
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    相关资源
    最近更新 更多