[英]ES6 React - static method vs constructor
我遇到了一個“問題”,我不知道哪個是最佳選擇。
說我有以下課程
export default class A {
constructor(){
this.testMethod = function testMethod(){
console.log('a')
}
}
static testMethod2 = function() {
console.log('B')
}
}
現在我要擴展這堂課
class C extends A {
fetch() {
this.testMethod()
A.testMethod2()
}
}
在擴展它時,將其定義為靜態方法感覺很奇怪,我假設我正在擴展一個類的事實將允許我訪問其所有方法(ES5原型樣式)
我知道兩種方法都是正確的,但是在ES6 / React中做到這一點的最佳方法是什么? 這兩種方式或性能問題都有哪些警告?
我目前正在使用構造函數,因為它感覺像是正確的/預期的方式,但是我不能在另一個之上“合理化”。
所有這些都來自將airbnb eslint應用於我的代碼庫( http://eslint.org/docs/rules/class-methods-use-this )
我假設我正在擴展一個類,這將允許我訪問其所有方法
您實際上可以做到。 只需調用C.testMethod2()
而不是A.testMethod2()
( 甚至使用this.constructor.testMethod2()
)。
在原型上,甚至在構造函數內部,定義與特定實例無關的函數都是不好的做法,不要這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.