reactjs - Invariant Violation: Avatar(...): 没有从渲染返回。这通常意味着缺少返回语句
问题描述
renderIconWrapper = (altText,imgSrc) => {
return (
<IconWrapper>
<DoctorImage alt={altText} src={imgSrc}/>
</IconWrapper>
)
}
render(){
const {gender, detailsGender, providerDetailTypeNm} = this.props;
if (providerDetailTypeNm === "Professional") {
if (gender === "M" || detailsGender === "Male") {
this.renderIconWrapper('male-avatar',maleAvatar)
} else if (gender === 'F') {
this.renderIconWrapper('female-avatar',femaleAvatar)
}
} else if (providerDetailTypeNm === 'Facility' || providerDetailTypeNm === 'Supplier Business') {
this.renderIconWrapper('fa-hospital',faHospital)
} else if (providerDetailTypeNm === 'Group') {
this.renderIconWrapper('fa-users',faUsers)
} else {
this.renderIconWrapper('fa-users',faUsers)
}
}
我得到不变违规:...):渲染没有返回任何内容。有人可以让我知道代码中的错误是什么吗?我认为我在语法中遗漏了一些东西或一些错误。
谢谢
解决方案
尽管renderIconWrapper
方法返回一个 JSX 元素,但您并没有从 render 返回它的结果。从渲染调用return
返回结果this.renderIconWrapper
renderIconWrapper = (altText,imgSrc) => {
return (
<IconWrapper>
<DoctorImage alt={altText} src={imgSrc}/>
</IconWrapper>
)
}
render(){
const {gender, detailsGender, providerDetailTypeNm} = this.props;
if (providerDetailTypeNm === "Professional") {
if (gender === "M" || detailsGender === "Male") {
return this.renderIconWrapper('male-avatar',maleAvatar)
} else if (gender === 'F') {
return this.renderIconWrapper('female-avatar',femaleAvatar)
}
} else if (providerDetailTypeNm === 'Facility' || providerDetailTypeNm === 'Supplier Business') {
return this.renderIconWrapper('fa-hospital',faHospital)
} else if (providerDetailTypeNm === 'Group') {
return this.renderIconWrapper('fa-users',faUsers)
} else {
return this.renderIconWrapper('fa-users',faUsers)
}
}
推荐阅读
- android - 带有高级导航示例的注册流程
- firebase - 我正在使用云功能模拟器,1 参数是可以的,但 2 参数?
- tensorflow - TFX 中 TFRecord 的输入何时发布?
- python-2.x - 为什么 Head() 函数在我的 jupyter 笔记本中显示分号分隔的数据?
- javascript - 需要对 JavaScript 课程进行一些说明。(构造函数)
- javascript - 当页面加载或每次调整大小时发生事件的好方法是什么?
- html - 使用flexbox进行布局时如何让滚动条占据视口高度的100%
- php - 如何在 php 中为谷歌云语音 API 设置环境变量
- android - 在相机预览中跟踪眼瞳,屏幕中最受关注的部分
- vue.js - 带有for循环的多星评级并提交表单