如何使用MenuItem作为NavLink?

时间:2019-07-11 14:35:50

标签: reactjs material-ui react-router-dom

我正在尝试使用菜单列表浏览我的应用程序。虽然,应用程序和路由运行正常,但我使用这段代码在控制台中收到了一些警告:

{props.itemList.map((item, index) =>(
        <div key={index}>
          <MenuItem component={NavLink} to={item.to} onClick= 
              {handleClose} activeClassName={classes.topNavLinkActive} 
              className={classes.topNavLink}>
            {item.name}
            <Icon className={classes.navIcon}>{item.icon}</Icon>
          </MenuItem>
        </div>
      ))}

我得到的警告是: 警告:道具类型失败:提供给component的道具ForwardRef(ButtonBase)无效。预期可以容纳引用的元素类型。您是否偶然提供了一个普通的功能组件?

index.js:1375警告:无法为功能组件提供引用。尝试访问此引用将失败。您是要使用React.forwardRef()吗?

有人可以解释为什么在这里需要前向引用吗?

1 个答案:

答案 0 :(得分:0)

错误似乎与滥用console.log(formData.getAll('name')); // return all values 属性有关。文档说:

  

用于根节点的组件。使用DOM元素或组件的字符串。

根据MenuItem APIcomponent属性的类型为component。类型定义文件将显示其正在实现elementType接口(其中描述了标准HTML标记)。

JSX.IntrinsicElements元素是一个React组件。尝试提供标准的html标签名称(NavLink)或实际的DOM节点引用。