A tím Angularem je to nesmysl, React se od něj čím dál víc vzdaluje tím, jak s hooky je možné prakticky se komplet vybodnout na komponenty ve třídách a dělat je jen jako funkce. Čímž se to celé dále zjednodušuje. Vezmi si, kolik toho v Anglaru musíš nadatlit, abys udělal komponentu. V Reactu prostě napíšeš jednoduchou funkci. Plus hooky odstranily šílený wrapper hell, který občas nastával.
Ale to jsem odbočil. Lokální stav (useState) a Redux nejdou proti sobě, doplňují se. Stav, který je lokální pro danou komponentu si ukládáš přes useState a nemusíš s ním zaplevelovat globální Redux. Občas se hodí využít dokonce lokální reducer (useReducer). Redux je naopak vhodný pro ukládání stavu, ke kterému potřebuje přistupovat víc komponent, který má přežít lifecycle komponenty atp.
Samozřejmě jedna komponenta může mít něco napojené z Redux store a něco mít v lokálním stavu. Co se týče toho globálního stavu, tak je to samozřejmě ta první z možností, co jsi uvedl (pro každou stránku extra), bastlit to do jednoho slice je hrozná prasárna. Plus tedy to ani nemusí být dělené dle stránek, ale klidně v aplikaci mohou být i jiné logické celky.