У меня есть простой макет nextjs:
export default class AppLayout extends React.Component {
render() {
return (
<>
<Header />
{this.props.children}
<Footer />
</>
)
}
}
Я пытался обернуть его магазином с редуксом:
import React from 'react'
import Header from './header'
import Footer from './footer'
import Page from './page';
import { connect } from 'react-redux';
class AppLayout extends React.Component {
render() {
return (
<>
<Header />
{this.props.children}
<Footer />
</>
)
}
}
const page = (props) => {
return <AppLayout {...props} />
}
export default Page(connect(state => state)(page));
Это не работает, так как я теряю тело каждой страницы, используя макет
Что я делаю не так?
store.js - это просто:
import { createStore } from 'redux';
import reducer from './reducers';
export default createStore(reducer);
Страница:
import React from 'react';
import { Provider } from 'react-redux';
import store from './store/store';
const page = (Page) => {
return (
class PageWrapper extends React.Component {
render() {
return (
<Provider store={store}>
<Page />
</Provider>
)
}
}
)
}
export default page;
Похоже, что магазин внедряет себя в качестве реквизита, заменяя предыдущие реквизиты, у которых были дочерние элементы на каждой странице ... что не так уж и хорошо, так как предыдущие реквизиты также необходимы ...
Любые мысли приветствуются