inflearn logo
강의

講義

知識共有

本番リアクトプログラミング

いくつかのRedoxを使用するためのヒント

setValue 함수 질문 있습니다.

840

Teo

投稿した質問数 6

0

현재 whois 프로젝트 진행중인데요.

    function setKeyword(value) {
        if (value !== keyword) {
            dispatch(actions.setValue("keyword", value));
            dispatch(actions.fetchAutoComplete(value));
        }
    }
export const actions = {
    setValue: createSetValueAction(Types.SetValue),
    fetchAutoComplete: (keyword) => ({
        type: Types.FetchAutoComplete,
        keyword,
    }),
};
export function createSetValueAction(type) {
    return (key, value) => ({ type, key, value });
}

이 부분에서 actions.setValue 함수 부분이 이해가 안갑니다.ㅠㅠ createSetValueAction 함수에서 type만 받았는데 return 에서 key와 value를 어디에서 가져오는건가요?? setValue에서 들어간 값들이 인자로 들어가는거 같은데 이해가 안가네요ㅠㅠ

react redux

回答 1

0

landvibe

안녕하세요
createSetValueAction는 함수를 반환하고 있는데요
그래서 아래처럼 생각하시면 이해가 쉬울 것 같습니다

export const actions = {
    setValue: (key, value) => ({ type: Types.SetValue, key, value }),
    ...
};

createSetValueAction를 호출하는 순간에 key, values는 값이 아니고 함수의 매개변수를 표현한 것이라고 이해하시면 될 것 같습니다

0

Teo

너무 감사합니다! 한번에 이해가 됐어요..!

한가지 더 질문드릴게 있는데,

const reducer = createReducer(INITIAL_STATE, {
    [Types.StValue]: setValueReducer,
});
export function createReducer(initialState, handlerMap) {
    return function (state = initialState, action) {
        const handler = handlerMap[action.type];
        if (handler) {
            if (action[NOT_IMMUTABLE]) {
                return handler(state, action);
            } else {
                return produce(state, (draft) => {
                    const handler = handlerMap[action.type];
                    handler(draft, action);
                });
            }
        } else {
            return state;
        }
    };
}

createReducer에서 넘어가는 handlerMap에는 [Types.SetValue] 가 들어가는게 맞나요?

예를 들어서 reducer에 [Types.SetTotal], [Types.SetValue] 두개가 있다고 한다면

HandlerMap으로 두개가 들어가고, action.type의 핸들러를 찾아서 반환..까지 맞을까요?

return hanlder(draft, action) 이 부분은 setValueReducer(draft, action) 이라고

봐도 되는건가요?

 

0

landvibe

네 말씀하신 내용 모두 맞습니다

action.type의 핸들러를 찾아서 반환

다만 위에 말씀하신 내용은 엄밀하게 얘기하면 `action.type의 핸들러를 찾아서 실행 후 반환`이라고 이해하시면 될 것 같아요

자동완성기능이 안되네요 ..

0

499

3

화면에 에러가나네요 ...

0

515

2

찾아야한다 실습 문의

0

469

1

훅 기초 익히기 - 배치 처리와 순차적 처리의 차이

0

470

1

cra, next.js 관련 질문 드립니다!

0

605

1

useState 배열 비구조화 문법 질문!

0

252

1

Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'

1

1081

2

Saga 오류 이거 혹시 왜이런지 알수 있을까요?

0

370

2

http://localhost:3001/user/search?keyword=u 이걸로 데이터를 보는데 저는 사이트에 연결할 수 없다고 나오네요

0

656

1

match

1

494

1

버튼이 생성되지 않습니다 .

0

286

1

혹시 import 옆에 파일 사이즈 표시 어떻게 하나요?

0

262

1

saga 문제

0

248

1

에러가 발생하는데 이유가뭘까요..?

0

388

2

선생님과 똑같이 했는데 다 rendering 됩니다.

0

202

1

컴포넌트와 컨테이너의 기준

0

315

1

커스텀훅의 개념과 함수차이

1

1197

1

useEffect 실전 활용법(1) 강의에서 질문있습니다.

0

337

1

리덕스, 사가파일들의 관리

0

207

1

useImperativeHandle 질문 입니다.

0

280

1

컴파일 문의드립니다.

0

203

1

React.memo 관련 질문이 있습니다.

0

373

1

Context API vs Redux 사용 빈도

0

212

1

10분도 안들었는데 환불안됩니까?

0

276

1