<T extends object>
<T extends {name?: string; title?: string} >
Хранить всё в одном глобальном состоянии это одна из хороших практик при использовании Redux в разработке
для поддержки и расширения удобно инкапсулировать состояние компонента внутри него.
ничто не мешает хранить состояние в общем сторе
ценой за инкапсуляцию мы превращаем компонент в чёрный ящик