suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Wie erhalte ich beim Import den Rückgabewert „Export Default“?

<p>Einfach gesagt, ich habe eine <code>js</code>-Datei, deren Exportstandards ein Objekt zurückgeben. </p> <pre class="brush:js;toolbar:false;">// x.js export default ()=>({ Text: 'Text' }) </pre> <p>Ich möchte es in eine andere <code>js</code>-Datei importieren und mit seinen Daten zusammenführen (sozusagen erweitern). Jetzt mache ich Folgendes: </p> <pre class="brush:js;toolbar:false;">// y.js x aus './x.js' importieren; const obj = x() export default ()=>({ ...obj, text2: "text2" }) </pre> <p>Es funktioniert, aber es ist nicht sauber. Gibt es einen einfacheren Weg, dies zu tun? </p>
P粉595605759P粉595605759463 Tage vor593

Antworte allen(1)Ich werde antworten

  • P粉715304239

    P粉7153042392023-08-28 09:40:08

    我认为,“我想使用一种干净的方法”,这是一种易于理解的方法。因此,以下方法可能有用 -

    <强>1。默认导出-
    这对于仅导出单个对象、函数或变量非常有用。在导入过程中,我们可以使用任何名称来导入。

    // x.js
    export default function xFunc() {
        return { text: "text" };
    }
    
    //y.js
    import xFunc from "./x.js";
    export default function yFunc() {
        return {
            ...xFunc(),
            text2: "text2",
        };
    }
    
    // import y in any file
    import yFunc from "./y";
    console.log(yFunc());

    默认导出也可以这样使用-
    这很有用,因为我们可以使用任何名称来娱乐,因为它是带有名称的默认导出(因此我们可以记住该名称)并使用任何名称导入。

    // x.js
    function xFunc() {
      return { text: "text" };
    }
    export { xFunc as default };
    
    // y.js
    import anyName from "./x.js";
    function yFunc() {
      return {
        ...anyName(),
        text2: "text2",
      };
    }
    export { yFunc as default };
    
    // import y in any file
    import anyName from "./y";
    console.log(anyName());

    <强>2。命名导出(推荐)-
    这对于导出多个值很有用。导入过程中,必须使用相同的名称,以避免导出和导入名称之间的混淆。

    // x.js
    export const xFunc = () => { text: "text" };
    
    //y.js
    import { xFunc } from "./x.js";
    export const yFunc = () => {
      return {
        ...xFunc(),
        text2: "text2",
      };
    };
    
    // import y in any file
    import { yFunc } from "./y";
    console.log(yFunc());

    编辑--

    命名导出也可以这样使用(不使用 const 和箭头函数)

    // x.js
    function xFunc() {
      return { text: "text" };
    }
    export { xFunc };
    
    //y.js
    import { xFunc } from "./x.js";
    function yFunc() {
      return {
        ...xFunc(),
        text2: "text2",
      };
    }
    export { yFunc };
    
    // import y in any file
    import { yFunc } from "./y";
    console.log(yFunc());

    Antwort
    0
  • StornierenAntwort