I am using next-iron-session
and next-redux-wrapper
in my nextjs client.
Both of them require me to wrap getServerSideProps with their respective functions.
Does somebody know, how I can chain the wrappers ?
next-iron-session (individual)
export const getServerSideProps =
withIronSession(
async ({ req, res }) => {
const user = req.session.get("user");
if (!user) {
res.statusCode = 404;
res.end();
return { props: {} };
}
return {
props: { user }
};
},
{
cookieName: "MYSITECOOKIE",
cookieOptions: {
secure: process.env.NODE_ENV === "production" ? true : false
},
password: process.env.APPLICATION_SECRET
}
);
next-redux-wrapper (individual)
export const getServerSideProps = wrapper.getServerSideProps((store) => async () => {
const user = store.getState().user
console.log('user', user)
})
Combination (not working)
TypeError: Cannot read property 'ttl' of undefined
export const getServerSideProps = withIronSession(
wrapper.getServerSideProps(
(store) =>
async ({ req, res }) => {
const user = req.session.get('user')
console.log(user)
return {
props: { user: 'hi' },
}
},
{
cookieName: 'MYSITECOOKIE',
cookieOptions: {
secure: process.env.NODE_ENV === 'production' ? true : false,
},
password: process.env.APPLICATION_SECRET
},
),
)