吐槽一个设计比较二的地方

我继承了ScrollView,用的ts,在正常情况下在写onLoad的时候是不是需要调用super.onLoad(),写着爽爽的,一气呵成,代码没任何错,可运行的时候就傻逼了,因为ScrollView根本没有onLoad方法,但看官方文档里


明目张胆,信誓旦旦的写着有这个函数,这不坑爹了么,难道非要使用看源代码这么低效的方式才能避免这种情况么?

1赞

你的onLoad咋写的,贴出来看看

onLoad(): void {
    if (super.onLoad)
        super.onLoad();
}

if 判断是发现报错后面加的

那就是父类没有onLoad了

对啊, 我说的就是这个问题,开发者并不知道一个组件是否有onLoad方法,API都一律写着有,但真实的情况是一定要去看源代码才知道

谢谢反馈,事实上,这些都是继承自 Component 的 API,只是没有实现。
为了避免歧义,之后我们会在每个生命周期方法上注明:该方法为生命周期方法,未必会有实现,而且也只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。