У меня проблема с моим собственным приложением реакции. Я пытаюсь обработать поступающие данные через систему обмена сообщениями FCM и решил сделать это непосредственно в коде, который я помещаю sh в это хранилище с избыточностью, чтобы прослушивающая ловушка могла реагировать на это. Но useEffect не вызывается после обновления кода. Я прогуглил это, и люди, кажется, говорят, что вы должны воссоздать объект, но я не уверен, как. Я попробовал пару вещей, но все они потерпели неудачу. Как мой код выглядит в настоящее время:
notificationReducer?: Immutable.List<NotificationData>;
export function notificationReducer(
state: Immutable.List<NotificationData> = Immutable.List(),
action: NotificationAction): Immutable.List<NotificationData> {
switch (action.type) {
case ADD_NOTIFICATION:
return state.push(action.notifications);
case REMOVE_NOTIFICATION:
return state.filter(x => x === action.notifications);
case REMOVE_TYPE_NOTIFICATIONS:
return state.filter(x => x.type == action.notificationType);
case CLEAR_NOTIFICATIONS:
return Immutable.List();
default:
return state;
}
Я попытался создать новый Immutable.List в части ADD, но это также не вызвало обновление. Я думаю, что я не хочу создавать обновления, когда я вызываю функции удаления / удаления, так что они в порядке?