Мне не нравится идея передавать подписку на событие в props, слишком усложнено Если компоненту принципиально прослушивать событие, то его надо сделать глобальным и тогда компонент при любой вложенности на него отреагирует
Если все может происходить внутри компонента, то тогда или добавляем его на конкретную страницу и используем или регестрируем компонент глобально и можем использовать его уже где угодно без необходимости импорта
Так же можно глобально зарегестрировать компонент, который прослушивает событие на глобальном уровне
Ссылка: https://codesandbox.io/s/djnnm
описание в комментариях
Ссылка: https://codesandbox.io/s/6fhqc
Возможно вызов функции надо было обрабатывать с помощью операции apply