首页 > 解决方案 > 如何告诉 tyescript isNil lodash 函数正在检查空值

问题描述

摩根!我在打字稿上有下一个警告问题:

对象可能是“未定义”.ts

解决方案是检查对象是否即将到来,使用经典的 javascript 我可以设置条件并执行此操作。但是我在整个项目中都使用了isNil来自 lodash 的功能。

问题是打字稿不知道它并且仍然触发该警告。

我怎样才能避免它?

return !!(productInformation) ? ( //this works fine
    <Panel>
        <Content>
            <DetailsWrapper>
                {/* this condition trigger warnings */}
                {!isNil(productInformation.image) && !isNil(productInformation.image.url) && (
                    <LogoWrapper>
                        <Logo src={productInformation.image.url} />
                    </LogoWrapper>
                )}

一开始,我检查 productInformation 是否来了。(因为我删除了 isNil 函数)。但是后来我仍然检查来自lodash的isNil是否存在对象键,但打字稿无法识别它。

任何想法?

标签: javascripttypescriptlodash

解决方案


与@ValRob 的答案相关,这是我要做的:

{!isNil(productInformation?.image?.url) && (
                    <LogoWrapper>
                        <Logo src={productInformation.image.url} />
                    </LogoWrapper>
                )}

推荐阅读