Lodash 'get' не работает при использовании в функции стрелки (React) - PullRequest
3 голосов
/ 11 октября 2019

Я использую Lodash в проекте и пытаюсь использовать функцию get для фильтрации некоторых данных, чтобы активировать кнопку для сохранения некоторых данных в конечную точку, но когда я использую get внутри функции Arroe она возвращает undefined, затем я использую тот же код в назначении переменной, работает корректно, вы можете проверить ошибку в этом StackBlitz . Кто-то еще получает такую ​​ошибку? Заранее спасибо.

componentDidMount() {
  const checkMandatory = tab => {
    get(this.state.data, [tab, 'data', 'datosCalculados'], []);
  };
  const obligatorios = checkMandatory('ingresos');
  const obligatorios2 = get(this.state.data, ['ingresos', 'data', 'datosCalculados'], []);
  console.log('Obligatorios: ', obligatorios);
  console.log('Obligatorios2: ', obligatorios2);
}

1 Ответ

4 голосов
/ 11 октября 2019

return отсутствует

Вместо

const checkMandatory = tab => {
  get(this.state.data, [tab, 'data', 'datosCalculados'], []);
};

do

const checkMandatory = tab => { 
  return get(this.state.data, [tab, 'data', 'datosCalculados'], []); 
};

или еще лучше:

const checkMandatory = tab => get(this.state.data, [tab, 'data', 'datosCalculados'], []);

, что приводит к:

enter image description here

...