Если у вас есть пользовательское приложение с getInitialProps, то автоматическая оптимизация Stati c, которая Next. js будет отключена для всех страниц.
True, если вы следуете этот подход.
Есть ли лучший способ?
Да, вы можете создать провайдера Redux в качестве оболочки и обернуть нужный вам компонент, контекст редукции будет автоматически инициализируется и предоставляется в этом компоненте.
Пример:
const IndexPage = () => {
// Implementation
const dispatch = useDispatch()
// ...
// ...
return <Something />;
}
IndexPage.getInitialProps = ({ reduxStore }) => {
// Implementation
const { dispatch } = reduxStore;
// ...
// ...
}
export default withRedux(IndexPage)
Теперь у вас есть возможность использовать Redux только для страниц, которые требуют управления состоянием, не отключая оптимизацию для всего приложения.
Отвечая на ваш вопрос " Использует ли Redux с Next. js анти-шаблон? "
Нет, но его нужно использовать правильно.
Подробнее о том, как это сделать, можно узнать здесь: https://github.com/zeit/next.js/tree/canary/examples/with-redux
Надеюсь, это поможет