跳到內容

import/no-named-as-default-member 可疑

此規則的功能

回報將已匯出的名稱 (具名匯出) 作為預設匯出屬性的使用情況。當嘗試透過預設匯出存取具名匯出時,就會發生這種情況,這是錯誤的。

為什麼這樣不好?

透過預設匯出存取具名匯出是不正確的,而且不會如預期般運作。具名匯出應該直接匯入,而預設匯出則應在沒有屬性的情況下存取。這個錯誤可能會導致執行階段錯誤或未定義的行為。

範例

假設

javascript
// ./bar.js
export function bar() {
  return null;
}
export default () => {
  return 1;
};

此規則的 不正確 程式碼範例

javascript
// ./foo.js
import foo from "./bar";
const bar = foo.bar; // Incorrect: trying to access named export via default

此規則的 正確 程式碼範例

javascript
// ./foo.js
import { bar } from "./bar"; // Correct: accessing named export directly

參考資料

在 MIT 授權下發布。