解決React報(bào)錯(cuò)Unexpected default export of anonymous function
總覽
當(dāng)我們嘗試使用默認(rèn)導(dǎo)出來導(dǎo)出一個(gè)匿名函數(shù)時(shí),會(huì)導(dǎo)致"Unexpected default export of anonymous function"警告。為了解決該錯(cuò)誤,在導(dǎo)出函數(shù)之前,為函數(shù)賦予一個(gè)名稱。
這里有個(gè)例子來展示警告是如何發(fā)生的。
// Header.js // ??? default export for anonymous function // ?? Unexpected default export of anonymous function // eslint import/no-anonymous-default-export export default function () { return <h1>hello world</h1>; }
上述代碼的問題在于,我們使用默認(rèn)導(dǎo)出來導(dǎo)出一個(gè)匿名函數(shù)。
命名
為了解決該錯(cuò)誤,在導(dǎo)出函數(shù)之前,為函數(shù)賦予一個(gè)名稱。
// Header.js // ??? give name to function that's being exported export default function Header() { return <h1>hello world</h1>; }
很重要:如果你要導(dǎo)出一個(gè)變量(或一個(gè)箭頭函數(shù))來作為默認(rèn)導(dǎo)出,你必須在一行中聲明它,在下一行中導(dǎo)出它。你不能在同一行中聲明和默認(rèn)導(dǎo)出一個(gè)變量。
// Header.js const Header = () => { return <h1>hello world</h1>; }; export default Header;
現(xiàn)在你仍然能夠使用默認(rèn)導(dǎo)入來導(dǎo)入函數(shù)。
// App.js import Header from './Header'; const App = () => ( <div> <Header /> </div> ); export default App;
這種方法鼓勵(lì)在導(dǎo)出函數(shù)和導(dǎo)入函數(shù)時(shí)重復(fù)使用同一個(gè)標(biāo)識(shí)符。
默認(rèn)情況下,eslint
規(guī)則會(huì)警告我們所有類型的匿名默認(rèn)導(dǎo)出,例如數(shù)組、函數(shù)、類、對(duì)象等等。
注釋單行規(guī)則
如果你想禁用單行的規(guī)則,你可以使用注釋。
// Header.js // eslint-disable-next-line import/no-anonymous-default-export export default function () { return <h1>hello world</h1>; }
注釋應(yīng)該放在帶有匿名默認(rèn)導(dǎo)出的代碼的正上方。
或者,你可以在.eslintrc
文件中,更新import/no-anonymous-default-export
應(yīng)該檢查的內(nèi)容。
Github倉庫的選項(xiàng)部分展示了該規(guī)則的完整默認(rèn)配置,你可以在你的.eslintrc
文件的規(guī)則對(duì)象中進(jìn)行調(diào)整。
總結(jié)
為了解決該警告,要么為默認(rèn)導(dǎo)出函數(shù)進(jìn)行命名,要么使用eslint
單行注釋放過該行代碼。
翻譯原文鏈接:bobbyhadz.com/blog/react-…
以上就是解決React報(bào)錯(cuò)Unexpected default export of anonymous function的詳細(xì)內(nèi)容,更多關(guān)于React報(bào)錯(cuò)export function的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- vue報(bào)錯(cuò)之exports is not defined問題的解決
- 關(guān)于JavaScript使用export和import的兩個(gè)報(bào)錯(cuò)解決
- 關(guān)于IDEA中的.VUE文件報(bào)錯(cuò) Export declarations are not supported by current JavaScript version
- 解決使用export_graphviz可視化樹報(bào)錯(cuò)的問題
- 探索export導(dǎo)出一個(gè)字面量會(huì)報(bào)錯(cuò)export?default不會(huì)報(bào)錯(cuò)
相關(guān)文章
詳解如何使用React和MUI創(chuàng)建多選Checkbox樹組件
這篇文章主要為大家詳細(xì)介紹了如何使用 React 和 MUI(Material-UI)庫來創(chuàng)建一個(gè)多選 Checkbox 樹組件,該組件可以用于展示樹形結(jié)構(gòu)的數(shù)據(jù),并允許用戶選擇多個(gè)節(jié)點(diǎn),感興趣的可以了解下2024-01-01React語法中設(shè)置TS校驗(yàn)規(guī)則的步驟詳解
這篇文章主要給大家介紹了React語法中如何設(shè)置TS校驗(yàn)規(guī)則,文中有詳細(xì)的代碼示例供大家參考,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-10-10React-Hooks之useImperativeHandler使用介紹
這篇文章主要為大家介紹了React-Hooks之useImperativeHandler使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07react嵌套路由實(shí)現(xiàn)TabBar的實(shí)現(xiàn)
本文主要介紹了react嵌套路由實(shí)現(xiàn)TabBar的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08React 遠(yuǎn)程動(dòng)態(tài)組件實(shí)踐示例詳解
這篇文章主要為大家介紹了React 遠(yuǎn)程動(dòng)態(tài)組件實(shí)踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03