만약 addOneThunk를 화살표 함수로만 사용한다면 다음과 같이 구현할 수 있습니다.

    const addOne = x => x + 1;
    const addOneThunk = x => () => addOne(x);
    
    const fn = addOneThunk(1);
    setTimeout(() => {
    const value = fn(); // fn이 실행되는 시점에 연산
    console.log(value);
    }, 1000);

    redux-thunk 라이브러리를 사용하면 thunk 함수를 만들어서 디스패치할 수 있습니다. 그러면 리덕스 미들웨어가 그 함수를 전달받아 storedispatchgetState를 파라미터로 넣어서 호출해 줍니다.

    다음은 redux-thunk에서 사용할 수 있는 예시 thunk 함수입니다.

    const sampleThunk = () => (dispatch, getState) => {
    // 현재 상태를 참조할 수 있고,
    // 새 액션을 디스패치할 수도 있습니다.
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.