簡體   English   中英

如何在此功能中添加控制台日志?

[英]How can I add a console log in this function?

非常直接的問題,我只是想在這個 es6 函數中獲取控制台日志。

const testLinesSelector = state => state.tests.testLines || [];

我試過了:

const testLinesSelector = state => { 
  console.log('INSIDE THE SELECTOR ===> ');
  return {state.tests.testLines || [] }
};

刪除return語句中的大括號,如下所示:

const testLinesSelector = state => { 
  console.log('INSIDE THE SELECTOR ===> ');
  return state.tests.testLines || [];
};

作為旁注,我注意到很多 ES6 代碼使用函數變量或函數屬性而不僅僅是函數——你是否有理由不這樣做?

function testLinesSelector( state ) { 
  console.log('INSIDE THE SELECTOR ===> ');
  return state.tests.testLines || [];
};

您可能會考慮使用Function.name自動化代碼的另一種方法 - 盡管這需要使用命名函數(la function foobar() { ... } )。 有一些技術可以在 JavaScript 中獲取匿名函數或箭頭函數的“名稱”,但它們涉及更多,並且可能與您正在使用的“代碼中的既定模式”不兼容。

但這里是如何使用命名函數來做到這一點:

function annotate( func ) {
    return ( ...args ) => {
        console.log( func.name ); // `Function.name` is supported in ES6.
        return func( ...args );
    };
}

const testLinesSelector = annotate( function testLinesSelector( state ) { return state.tests.testLines || [] } );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM