Как добавить консольный журнал в эту функцию? - PullRequest
1 голос
/ 21 марта 2020

Довольно простой вопрос, я просто пытаюсь получить консольный журнал в этой функции es6.

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

Я пробовал:

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

Ответы [ 2 ]

1 голос
/ 21 марта 2020

Удалите фигурные скобки в вашем выражении 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 || [];
};
0 голосов
/ 21 марта 2020

Другой подход, который вы могли бы рассмотреть для автоматизации вашего кода с использованием Function.name - хотя для этого необходимо использовать именованную функцию (а-ля 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 || [] } );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...