У меня есть массив уведомлений в качестве опоры для моего компонента NotificationCenter.TypeScript Redux React: как пройти через дочерние компоненты
Когда пользователь нажимает на любое уведомление (или на кнопку «Отметить все как чтение»), они должны быть отмечены как «isRead = true», а затем повторно отобразить его другим цветом в пользовательском интерфейсе.
Я уже сделал все (действия, события и т. Д.), Но теперь мне нужно вызвать редуктор, чтобы моя опознавательная подсказка могла быть повторно отображена.
Это мой код до сих пор:
if (isType(action, ActionTypes.MarkNotificationsAsRead)) {
return Object.assign({}, state, {
notifications: state.notifications.map(n => action.payload.<<HELP>>)
} as INotificationCentreState);
"state.notifications" моя Notification проп со всеми доступными уведомлений.
«action.payload» - это строковый массив, содержащий идентификаторы уведомлений, которые должны соответствовать, а затем изменить на «notification.isRead = true».
Основная проблема, с которой я столкнулся, заключается в том, что я не могу изменить список уведомлений, и я не совсем уверен, как работает .map().
Может ли кто-нибудь дать мне подсказку? Надеюсь, моя проблема ясна.
Спасибо!
Спасибо !! Мне просто нужно было добавить условие в конце, потому что оно переключало свойство IsRead, но оно работало как прелесть! 'IsRead: action.payload.indexOf (n.Id)> -1? true: n.IsRead' –