解決 React 編程報錯:Element type is invalid:expected a string or a class/function...

問題背景

項目采用的是 react + webpack 開發(fā)模式。其中,ManageLayout.js 文件的主體代碼如下圖所示:

ManageLayout.js 文件

該文件主要功能:導(dǎo)出了兩個類: ManageMainLayoutLeftNavMenu,用于整體的布局之用(其實細節(jié)此處可以忽略)。注意導(dǎo)出的不同方式:一個采用default默認導(dǎo)出方式,另一個則采用了一般導(dǎo)出方式。這也正是我下面出錯的原因所在。

然后呢,我在另一個 JavaScript 文件里,做了如下面代碼的導(dǎo)入引用:
import { ManageMainLayout } from '../../components/ManageLayout'

結(jié)果,console 控制臺就報錯了。錯誤信息信息如下所示:

報錯信息

相信大牛、大神級的人物,看到此處可能已經(jīng)立即鎖定錯誤的原因了。不知道也不要緊,下面詳解!

解決方法

這類錯誤,往往都比較隱蔽,而且沒有指向具體的錯誤代碼,不太容易定位到具體代碼位置。

幾番思慮、修改后,也未能得到有效解決。于是,求助于網(wǎng)上大神,百度(或Google)一下吧!在Stack Overflow的一篇帖子中,我找到了蛛絲馬跡。給我靈感的片段如下:

源于 Stack Overflow 的見解

可不是么!于是我立刻修改代碼如下:

import ManageMainLayout from '../../components/ManageLayout' ;

再啟動服務(wù),調(diào)試,立馬通過了!汗!引入默認default導(dǎo)出的函數(shù)、類等,我竟然還用{ } 把它給括起來了,這是錯誤的根源。

贊美 Stack Overflow

每個人都有盲點!就像此處的一個{ }而已,可能有的人壓根兒就不會在這個地方犯錯,而有的人呢,在這里栽跟頭卻也找不到“北”!得力于有著像 StackOverflows 這樣優(yōu)秀的平臺,集百家之言、通“盲點”之變,而致力于呈現(xiàn)出編程世界的欣欣向榮!在此,再次感謝!

最后,在 web 開發(fā)遇到問題時,強烈推薦去 StackOverflows 網(wǎng)站尋找相關(guān)的解決方案與靈感,這個網(wǎng)站確實,牛?。?/p>

Stack Overflow Logo
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,917評論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評論 19 139
  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,243評論 0 38
  • 《高效演講》里面給我們講了幾個非常實用有效的方法:第一,開胃菜,想象一下,吃飯前吃的開胃的菜,那自然是個好...
    鴻運當頭168閱讀 257評論 0 0
  • 【感恩有你】20170525 學(xué)習(xí)力六期 踐行記錄D10 昨天晚上在帶寶寶去公園玩的路上,我背了《敕勒歌》 北朝民...
    恩恩媽閱讀 217評論 0 0

友情鏈接更多精彩內(nèi)容