Несколько useSelector или один общий?
Использую в проекте react + redux. Есть отдельный reducer для роутера: {activePage, activeSection, meta} и т.д.
В App.js нужно задействовать 10 из 15 свойств routerReducer. И собственно, вопрос: использовать useSelector для каждого свойства или получить весь роутер через один useSelector?
Если второй вариант, то читал что могут быть перерендеры, т.к. объекты будут строго сравниваться. Как вариант предложили использовать reselect. Но тогда, как я понял, код должен быть следующим:
const routerSelector = state => state.router;
const routerSelector2 = createSelector(
routerSelector
)
...
const router = useSelector((state) => routerSelector2);
...
Но тут тогда вопрос с неймингами и в том, правильно ли так делать.
Собственно вопрос, как лучше поступать:
- Прописывать 10 useSelector
- Использовать 1 useSelector для всего редьюсера
- Использовать 1 useSelector с reselect который будет мемоизировать роутер