reactjs - InvalidCharacterError:无法在“文档”上执行“createElement”:提供的标签名称(“/static/media/avatar.6043f57a.png”)不是有效名称
问题描述
大家好,我是新来的反应并试图通过 youtube 教程克隆 Netflix。所以这里的问题是我在功能组件中使用了一个图像,但它没有正确渲染
我得到的错误是:
InvalidCharacterError: Failed to execute 'createElement' on 'Document': The tag name provided ('/static/media/avatar.6043f57a.png') is not a valid name.
我的功能代码
import './Header.css';
import SearchIcon from '@material-ui/icons/Search';
import HeaderOption from './HeaderOption';
import HomeIcon from '@material-ui/icons/Home';
import SupervisorAccountIcon from '@material-ui/icons/SupervisorAccount';
import BusinessCenterIcon from '@material-ui/icons/BusinessCenter';
import ChatIcon from '@material-ui/icons/Chat';
import NotificationsIcon from '@material-ui/icons/Notifications';
import TabImg from './avatar.png';
function Header() {
return (
<div className="header">
<div className="header__left">
<img src="https://www.linkpicture.com/q/logo_9.svg" alt="Logo" />
<div className="header__search">
<SearchIcon />
<input type="text"/>
</div>
</div>
<div className="header__right">
<HeaderOption Icon={HomeIcon} title="Home" />
<HeaderOption Icon={SupervisorAccountIcon} title="My Network"/>
<HeaderOption Icon={BusinessCenterIcon} title="Jobs" />
<HeaderOption Icon={ChatIcon} title="Messaging" />
<HeaderOption Icon={NotificationsIcon} title="Notifications" />
<HeaderOption Avatar={TabImg} title="me"/>
</div>
</div>
)
}
export default Header
我的 HeaderOption 代码:
import './HeaderOption.css';
function HeaderOption({Avatar, Icon, title }) {
return (
<div className="headerOption">
{Icon && <Icon className="headerOption__Icon" />}
{Avatar && (<Avatar className="headerOption__Icon" src={Avatar} />)}
<h3 className="headerOption__title">{title}</h3>
</div>
)
}
export default HeaderOption
解决方案
<Avatar className="headerOption__Icon" src={Avatar} />)
您将Avatar
符号名称加倍,尝试使用 is 作为组件名称和src
道具值。在HeaderOption
功能组件中,Avatar
仅解析为 prop 值,因此就像尝试使用
</static/media/avatar.6043f57a.png src="/static/media/avatar.6043f57a.png" />
这显然不是有效的标记。
尝试Avatar
使用不同的名称导入组件。例如
// for a default export
import AvatarImg from "northern/air/temple"
// or for a named export
import { Avatar as AvatarImg } from "northern/air/temple"
// snip...
{Avatar && (<AvatarImg className="headerOption__Icon" src={Avatar} />)}
<!-- note the component name -->
推荐阅读
- python - 如何在样式化的 QFrame 中设置 QWidget 的背景样式?
- javascript - 如何使用 NextJS 预渲染解决“无法读取未定义的属性 'title'”?
- amazon-cloudformation - CloudFormation 的托管区域 ID
- android - 为什么更改默认应用程序名称在使用颤振构建的 android productFlavors 中不起作用
- r - 如何找到文件在容器内的位置?
- javascript - 根据api更改切换主路径
- ios - 程序化导航 SwiftUI:重新选择和选择屏幕外链接的问题
- angular - 工具提示中的角度 Highchart 多个值
- alert - 当最后价格高于 5ma 10% 时如何设置警报?
- byte-buddy - ByteBuddy Advice 类中的重新映射