我有以下目錄結構
- common
|
|--- Component1
| |
| |--- index.js
| |--- Component1.tsx
| |--- Component1.scss
|
|--- Component2.tsx
|
在 Component1'sindex.js和 Compoent1.tsx 我匯出默認值
組件1/index.js
export { default as Component1 } from './Component1'
組件 1/組件 1.tsx
const Component1 = () => { code... }
export default Component1
在Component2.tsx我想Component1.tsx通過默認匯入匯入。但是它抱怨“/Component1/index 中沒有默認匯出”。我認為該目錄默認/Compoennt1匯出Component1.tsx,但它不起作用
組件2.tsx
// doesn't work
import Component1 from './Component1'
// both works
import { Component1 } from './Component1' or
import Component1 from './Component1/Component1'
有人可以解釋為什么我不能通過檔案夾默認匯出/匯入,或者這是匯入/匯出的作業方式嗎?
uj5u.com熱心網友回復:
在這里,它是一個命名匯出(命名Component1),而不是默認匯出:
export { default as Component1 } from './Component1'
這就是為什么在這里通過命名匯入匯入它的原因:
import { Component1 } from './Component1'
如果你想讓它成為 的默認匯出Component1/index.js,你需要
export { default as default} from './Component1'
就個人而言,我喜歡在撰寫代碼時保持一致 - 不必為每個單獨的模塊回憶“這個模塊是否匯出了默認值或命名的東西?”這很好。在給定專案中,您可能會發現在任何地方都使用默認匯出或命名匯出更容易,但不要混合使用它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/410588.html
標籤:
