[英]× TypeError: Cannot read properties of undefined (reading 'name')
问题是 currentPackage 的未定义。 渲染(){ const { hasAccounts,asideClassesFromConfig,disableScroll,htmlClassService,currentPackage,用户,} = this.props; const isActive = checkStatus(user?.status);
const packageLogo = currentPackage.name && currentPackage.logo && (
<div className="vk-inductee-button-wrapper">
<div className="vk-inductee-button-image-wrapper">
<img
src={currentPackage.logo}
className="vk-inductee-button-image"
alt="inductee-img"
/>
</div>
<div className="vk-inductee-button-label">
<span>{currentPackage.name}</span>
</div>
</div>
);
return (
<>
<button className="kt-aside-close" id="kt_aside_close_btn">
<i className="la la-close" />
</button>
<div
id="kt_aside"
ref={this.asideOffCanvasRef}
className={`kt-aside ${asideClassesFromConfig} kt-grid__item kt-grid kt-grid--desktop kt-grid--hor-desktop`}>
<Brand />
<div
id="kt_aside_menu_wrapper"
className="kt-aside-menu-wrapper kt-grid__item kt-grid__item--fluid">
<AsideDropdown />
{isActive ? (
<Link to="/shop/my-packages">{packageLogo}</Link>
) : (
packageLogo
)}
{disableScroll && <Menu htmlClassService={htmlClassService} />}
{!disableScroll && (
<PerfectScrollbar
options={{ wheelSpeed: 2, wheelPropagation: false }}>
<Menu htmlClassService={htmlClassService} />
</PerfectScrollbar>
)}
{hasAccounts && <AsideFooter />}
</div>
</div>
</>
);
} }
你可能会做类似的事情
const packageLogo = currentPackage && currentPackage.name && currentPackage.logo && (
<>
//your code
</>
)
问题是currentPackage
未定义,但您正在检查currentPackage.name
是否为真。 由于undefined
上不存在属性name
,因此您会收到该错误。 在检查特定属性之前,您只需要检查currentPackage
本身是否为真。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.