Я получаю «бесконечное обновление l oop в функции рендеринга компонента», и оно, похоже, запускается геттером vuex, но я серьезно не понимаю, почему. Любой намек очень мне поможет
getPlanningsForPlanner: (state, getters, rootState, rootGetters) => () => {
let people = getters['getPeopleOrderedBy']();
return rootState.plannings.map((planning) => {
if (planning.adhoc_text === null) {
planning.epic = rootGetters['moduleJIRA/getEpicByKey'](planning.epic_key);
if (typeof (planning.epic) !== 'undefined')
planning.project = rootGetters['moduleJIRA/getProjectByKey'](planning.epic.fields.project.key)
} else {
planning.epic = {};
planning.project = {};
}
// parse dates
planning.startDate = moment(planning.start_date);
planning.endDate = moment(planning.end_date);
// add people
planning.people = people.find(elm => elm.id === planning.people_id);
// calculation of hours
planning.dailyHours = getters['daysToHours'](1, planning.load);
planning.businessDays = planning.startDate.businessDiff(planning.endDate) + 1;
planning.plannedHours = getters['daysToHours'](planning.businessDays, planning.load);
if (!planning.pinned_end) {
let fixPlannedEpics = rootState.plannings.filter(_planning => _planning.epic_key === planning.epic_key && _planning.pinned_end);
let fixPlannedHours = fixPlannedEpics.reduce((sum, _planning) => sum + _planning.plannedHours, 0);
let openlyPlannedEpics = rootState.plannings.filter(_planning => _planning.epic_key === planning.epic_key && !_planning.pinned_end);
let hours = Math.max((planning.epic.budget - planning.epic.sumTimeSpent - fixPlannedHours) / openlyPlannedEpics.length, planning.dailyHours);
planning.endDate = moment(planning.startDate).businessAdd(Math.round(hours / planning.dailyHours));
}
// add indices in timeBeam
let indices = getters['getIndices'](planning.startDate, planning.endDate);
planning.startIndex = indices.start;
planning.endIndex = indices.end;
return planning
});
},