【发布时间】:2020-12-05 19:41:45
【问题描述】:
我试图以愚蠢的方式在 JSX 中执行 if 条件
{
((selectedWebsite != null) && (selectedWebsite.desktop_prompt != null) &&
(typeof selectedWebsite.desktop_prompt !== "undefined")) ?
<FormControlLabel style={{"margin-left": "auto"}}
control={<Switch size="small"
checked={selectedWebsite.desktop_prompt.enabled}
onChange={handleCheckDesktop}/>}
/> :
null
}
现在 selectedWebsite 是 {} 并且 desktop_prompt 未定义,但仍在执行 if 条件,我收到错误 TypeError: Cannot read property 'enabled' of undefined。我在这里做错了什么?
【问题讨论】:
-
检查未定义不应在字符串中。所以代替 desktop_prompt !== "undefined" 检查 desktop_prompt !== undefined。
-
试过了,还是一样的错误
-
您提供的条件以及建议的解决方案应该有效。一定有其他问题,或者您可能正在代码中的其他地方访问 .enabled。
标签: reactjs react-native jsx