[英]Warning: <Link /> is using incorrect casing. Use PascalCase for React components
I'm trying to use React.createElement to render a Link.我正在尝试使用 React.createElement 来呈现链接。
My code:我的代码:
createElement(
item.to ? "Link" : "div",
{
className: slidebar ? "slidebar-row" : "header-menu-element",
onClick: showSubMenu,
to: item.to
},
[
<button>{item.title}</button>,
slidebar ? subMenu ?
item.iconSlidebarOpened :
item.iconSlidebarClosed :
subMenu ? item.iconHeaderMenuOpened : item.iconHeaderMenuClosed
]
)
The error:错误:
> Warning: <Link /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.
You should pass the actual Link
component from react-router-dom
when wanting to create from other React components.当想要从其他 React 组件创建时,您应该从
react-router-dom
传递实际的Link
组件。
Create and return a new React element of the given type.
创建并返回给定类型的新 React 元素。 The type argument can be either a tag name string (such as
'div'
or'span'
), a React component type (a class or a function) , or a React fragment type.type 参数可以是标签名称字符串(例如
'div'
或'span'
)、 React 组件类型(class 或函数)或 React 片段类型。
import { Link } from 'react-router-dom';
createElement(
item.to ? Link : "div", // <-- Link, not "Link"
{
className: slidebar ? "slidebar-row" : "header-menu-element",
onClick: showSubMenu,
to: item.to
},
[
<button>{item.title}</button>,
slidebar ? subMenu ?
item.iconSlidebarOpened :
item.iconSlidebarClosed :
subMenu ? item.iconHeaderMenuOpened : item.iconHeaderMenuClosed
]
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.