Как настроить unistore с помощью next-js, включая SSR и постоянное состояние в файлах cookie? Причина постоянного состояния файлов cookie заключается в том, что моя корзина сохраняется только в файлах cookie, а не на сервере.
Я пытался с HOC с-Unistore, который выглядит следующим образом. Перезапись:
const isServer = typeof window === 'undefined';
const __STATE__ = '__UNISTORE_STATE__';
const initializeStore = (initialState) => createStore(initialState);
function getOrCreateStore(initialState) {
if (isServer) {
return initializeStore(initialState);
}
if (!window[__STATE__]) {
window[__STATE__] = initializeStore(initialState);
}
return window[__STATE__];
}
export default (App) => {
return class AppWithUnistore extends React.Component {
static async getInitialProps(appContext) {
const uniStore = getOrCreateStore({ count: 0 });
appContext.ctx.store = uniStore;
let appProps = {};
if (typeof App.getInitialProps === 'function') {
appProps = await App.getInitialProps(appContext);
}
return {
...appProps,
initialUniStoreState: uniStore.getState()
};
}
constructor(props) {
super(props);
this.uniStore = getOrCreateStore(props.initialUniStoreState);
}
render() {
return <App {...this.props} uniStore={this.uniStore} />;
}
};
};
Но он возвращает ошибку:
Ошибка при выполнении getInitialState
Ошибка типа: невозможно прочитать свойство 'action' из неопределенного
function Home({ count, increment }) {
return (
<Frame>
Welcome hello Next.js!
<div>{count}</div>
<button onClick={increment}>INCREMENT</button>
</Frame>
);
}
export default connect('count', actions)(Home);
Кто-нибудь может привести рабочий пример?