작성
·
449
0
import { configureStore } from "@reduxjs/toolkit";
import { createWrapper } from "next-redux-wrapper";
import reducer from "../reducers";
import thunkMiddleware from "redux-thunk";
function getServerState() {
return typeof document !== "undefined"
? JSON.parse(document.querySelector("#__NEXT_DATA__").textContent)?.props
.pageProps.initialState
: undefined;
}
const loggerMiddleware =
({ dispatch, getState }) =>
(next) =>
(action) => {
console.log(action);
return next(action);
};
const serverState = getServerState();
console.log("serverState", serverState);
const makeStore = () => {
configureStore({
reducer,
devTools: true,
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware({
thunk: {
loggerMiddleware,
},
}),
preloadedState: serverState, // SSR
});
};
export default createWrapper(makeStore);
아런 코드에서 redux thunk를 실행하는 방법이 궁금합니다!