не очень я все это понимаю, я в целом за глобальные сторы, храню в них данные, селекторы, действия, изменяющие данные. Вместо внутреннего стейта типа tooltipIsShown тоже по большей части использую глобальный. Но вот всяческие onClickOutside, onKeyDown, handleFormSubmit все равно оставляю внутри компонентов, так как они относятся ко внутренней схеме их работы. Если все вынести в глобал, он станет прегромаднейшим и работать с таким будет сложно
Так ты же можешь свои хендлеры вынести в отдельный абстрактный файл, который в дальнейшем через эти хендлеры уже жанглируй данными как тебе угодно. Никто не заставляет все в кучу сваливать. Ведь ты же на компоненты разбиваешь, так и тут