Каждый раз, когда мне нужно вызвать событие с уведомлением (будь то новое уведомление или удаление старого), мне нужно доставать имеющийся массив this.props.layout.notification, модифицировать его и отправлять обратно для перезаписи
В корне не правильно. Работой со state\данными должен заниматься редьюсер. А вы ему должны говорить что и с чем сделать посредством экшенов.
То есть если вам нужно добавить нотификейшен - диспатчите экшен вида
dispatch({
type: 'ADD_NOTIFICATION',
payload: { notification: { ... } },
})
Естественно обернув все это в экшен-креатор.