Распространите деструктуризацию, чтобы избежать дублирования - PullRequest
0 голосов
/ 11 января 2019

Есть ли способ избежать дублирования competenceList[competenceKey] (объект) в строках 5 и 6, сохраняя тот же объект при возврате без использования объявления переменной?

const func = ({
    entities: { competence: competenceList },
    timesheet: { management: { competences: competenceKey } },
}) => ({
    employeeKey: competenceList[competenceKey].employee,
    payrollEnd: competenceList[competenceKey].competenceEnd,
});

1 Ответ

0 голосов
/ 11 января 2019

Да, это технически возможно при использовании имени вычисляемого свойства:

const func = ({
    timesheet: { management: { competences } },
    entities: { competence: { [competences]: competence },
}) => ({
    employeeKey: competence.employee,
    payrollEnd: competence.competenceEnd,
});

но я бы не советовал это, так как он не очень читабелен. Просто напишите

function func({timesheet, entities}) {
    const competence = entities.competence[timesheet.management.compentences];
    return {
        employeeKey: competence.employee,
        payrollEnd: competence.competenceEnd,
    };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...