gpt4 book ai didi

javascript - Ember组件生命周期钩子(Hook)方法——是否强制调用super?

转载 作者:行者123 更新时间:2023-11-28 13:12:59 26 4
gpt4 key购买 nike

在我的项目中,某些组件生命周期 Hook 方法没有 this._super(...arguments) 例如 didReceiveAttrsdidUpdateAttrsdidRenderdidInsertElementwillDestroyElement。但我没有遇到任何问题。我应该更改为包含还是不包含?

我知道如果我们为 Ember.Component 这样的框架类重写 init,请务必调用 this._super(...arguments) 在我们的 init 声明中!如果我们不这样做,Ember 可能没有机会进行重要的设置工作,并且我们会在您的应用程序中看到奇怪的行为。 (ref)

最佳答案

对于每个生命周期钩子(Hook),始终调用this._super并不是强制的。但是,有时您需要它,有时则不需要。由于在实际需要时缺少 _super 调用而导致的错误通常会导致难以发现或调试的错误。因此,建议始终调用它,以确保安全。如果你调用它并且不需要它,它不会做任何事情,所以你不会因为这样做而损失任何东西。

我猜这只是多了一行代码,但它确实没有什么缺点,除了需要 5 秒的时间来输入它。

相关对话请参阅: Deprecate the usage of Ember.on for Component's lifecycle events.

关于javascript - Ember组件生命周期钩子(Hook)方法——是否强制调用super?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41011165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com