我正在尝试使用菜单列表浏览我的应用程序。虽然,应用程序和路由运行正常,但我使用这段代码在控制台中收到了一些警告:
{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()吗?
有人可以解释为什么在这里需要前向引用吗?
答案 0 :(得分:0)
错误似乎与滥用console.log(formData.getAll('name')); // return all values
属性有关。文档说:
用于根节点的组件。使用DOM元素或组件的字符串。
根据MenuItem API,component
属性的类型为component
。类型定义文件将显示其正在实现elementType
接口(其中描述了标准HTML标记)。
JSX.IntrinsicElements
元素是一个React组件。尝试提供标准的html标签名称(NavLink
)或实际的DOM节点引用。