редукторы / index.ts
export interface State {
questionnotifications: QuestionNotification;
}
export const reducers = {
questionnotifications: fromNotification.questionreducer,
};
export const getQuestionNotifications = (state: State) => state.questionnotifications;```
action / messages.ts
import {Action} from '@ngrx/store';
export const QUESTIONADD = '[Question] add';
export const QUESTIONREMOVE = '[Question] remove';
export class QuestionNotificationAdd implements Action {
type = QUESTIONADD;
constructor(public payload: NewQuestionNotification[]) {
}
}
export class QuestionNotificationRemove extends QuestionNotificationAdd {
type = QUESTIONREMOVE;
/* constructor(public payload: NewQuestionNotification[]) {}*/
}```
модели/notification.ts
export interface QuestionNotification {
doctor_id_c: string;
pat_image: string;
pat_name: string;
patient_id_c: string;
q_id: number;
}
export class NewQuestionNotification implements QuestionNotification {
doctor_id_c: string;
pat_image: string;
pat_name: string;
patient_id_c: string;
q_id: number;
constructor(doctor_id_c: string, pat_image: string, pat_name: string, patient_id_c: string, q_id: number) {
this.doctor_id_c = doctor_id_c;
this.pat_image = pat_image;
this.pat_name = pat_name;
this.patient_id_c = patient_id_c;
this.q_id = q_id;
}}
- redurs / notifications.ts
export function questionreducer(state = [], action: notification.QuestionNotificationAdd) {
switch (action.type) {
case notification.QUESTIONADD:
return state.concat(action.payload).filter((obj, pos, arr) => {
return arr.map(mapObj => mapObj['q_id']).indexOf(obj['q_id']) === pos;
});
case notification.QUESTIONREMOVE:
console.log('in remove question notification');
console.log(action.payload[0].q_id);
return state.filter(function (el) {
return el.q_id != action.payload[0].q_id;
});
default:
return state;
}
}
Мы генерируем уведомления в angular 6, браузер получаетfcm уведомляет те же данные полезных данных уведомлений, которые мы пытаемся сохранить в избыточном состоянии, но мы сталкиваемся с проблемой при отображении сохраненных данных избыточного объема, поскольку данные полезной нагрузки не объединяются с данными состояния избыточного числа.
Добрый совет, где мы идем не так.