3 回答

TA貢獻1864條經驗 獲得超6個贊
班級名稱
首先,如果您確定要從正確命名的類擴展,例如React.Component,而不是React.component或React.createComponent,則可能需要升級React版本。有關要擴展的類的更多信息,請參閱下面的答案。
升級React
自版本0.13.0起,React僅支持ES6風格的類(請參閱此處有關支持介紹的官方博客文章。
在此之前,使用時:
class HelloMessage extends React.Component
您試圖使用ES6關鍵字(extends
)從未使用ES6定義的類中繼承子類class
。這可能是您遇到super
定義等奇怪行為的原因。
所以,是的,TL; DR - 更新到React v0.13.x.
循環依賴
如果您具有循環導入結構,也會發生這種情況。一個模塊導入另一個模塊,反之亦然。在這種情況下,您只需要重構代碼以避免它。更多信息

TA貢獻1830條經驗 獲得超9個贊
這意味著你想要子類,應該是Class
,但是undefined
。原因可能是:
錯字輸入
Class extends ...
,所以你擴展未定義的變量錯字輸入
import ... from
,所以你undefined
從模塊導入引用模塊不包含值,您想要導入(例如過時模塊 - 使用React的情況),因此您導入非現有值(
undefined
)參考模塊
export ...
語句中的拼寫錯誤,因此它導出未定義的變量引用模塊缺少
export
語句,所以它只導出undefined

TA貢獻1853條經驗 獲得超18個贊
它也可能是由拼寫錯誤引起的,所以不是Component使用大寫C,而是component使用較低的c,例如:
React.component //wrong.
React.Component //correct.
注意: 此錯誤的來源可能是因為存在React并且我們自動認為接下來的應該是以小寫字母開頭的react方法或屬性,但實際上它是另一個Class(Component)應該以大寫字母開頭。
添加回答
舉報