강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

i1004gy님의 프로필 이미지
i1004gy

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

redux-thunk 이해하기

redux toolkit으로 thunk를 실행하는 방법이 궁금합니다

작성

·

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를 실행하는 방법이 궁금합니다!

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

음.. 여기 세팅이 끝나면 컴포넌트에서 createAsyncThunk로 만든 함수를 dispatch하면 됩니다.

i1004gy님의 프로필 이미지
i1004gy

작성한 질문수

질문하기