对象可能为null-即使经过null检查

时间:2018-10-31 02:19:57

标签: typescript

我正在使用Typescript 2.8

我的代码是这样的:

class Wizard extends React.Componenet {

    private divElement: null | HTMLDivElement = null;

    componentDidUpdate(_: IWizardProps, prevState: IWizardState) {
        if (this.divElement) {
            this.getOverflowParent(this.divElement).scrollTop = 0;
        }
    }

}

我用if包裹了它以确保它不是null,但是编译器一直没有说可能是null。你能请教吗?

enter image description here

1 个答案:

答案 0 :(得分:2)

在使用this.getOverflowParent(this.divElement)属性之前,还应该检查scrollTop是否为空。例如,

if (this.divElement) {
    var overflowParent = this.getOverflowParent(this.divElement);
    if (overflowParent)
        overflowParent.scrollTop = 0;
}