У меня проблемы с запуском этой функции в моем коде React / Redux. Я новичок в React (в основном работаю над бэкэндом), поэтому не уверен, почему он не работает должным образом. Это в нужном месте? У меня также возникают проблемы с поиском того, где console.log печатается в консоли, поскольку консоль настроена с предыдущим действием, действием, шаблонами следующего состояния ....
Эта функция определена в моих действиях . js '(где он также вызывается позже):
const groupBy = (array, key) => {
return array.reduce((result, currentValue) => {(
result[currentValue[key]] = result[currentValue[key]] || []).push(
currentValue
);
return result;
}, {});
};
Здесь вызывается функция (тот же файл):
export function getAlerts() {
return dispatch => {
api.get('notifications', (response) => {
const grouped = groupBy(response.results.data, 'email');
dispatch(updateFetchedAlerts(grouped));
}, (error) => {
console.warn(error);
})
}
}
Вход, ответ. results.data, выглядит примерно так:
[{"email": test@email.com, "is_active": true, "alert_id": 1, "pk": 1},
{"email": test@email.com, "is_active": true, "alert_id": 2, "pk": 2},
{"email": different@email.com, "is_active": true, "alert_id": 1, "pk": 3}]
Я хочу, чтобы он выглядел так:
[{"test@email.com": [{"is_active": true, "alert_id": 1, "pk": 1},
{"is_active": true, "alert_id": 2, "pk": 2}],
"different@email.com": [{"is_active": true, "alert_id": 1, "pk": 3}]}]
но похоже, что эта функция не работает, я повторно запустил пряжу построить и использовать инкогнито ...
ОБНОВЛЕНИЕ: эта функция действительно РАБОТАЕТ! Спасибо всем. Инструменты разработчика redux очень полезны. Вторая проблема в том, что мне нужно добавить свои собственные ключи .... В идеале результат должен выглядеть так. Желательно без лоды sh!:
[{"email": "test@email.com",
"alerts": [{"is_active": true, "alert_id": 1, "pk": 1},
{"is_active": true, "alert_id": 2, "pk": 2}]},
{"email": "different@email.com",
"alerts": [{"is_active": true, "alert_id": 1, "pk": 3}]}]