ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Redux Toolkit(create Action)
    Redux 2022. 7. 29. 09:59

    리덕스 툴킷은 적은량의 코드로 같은 기능을 하도록 도와주는 것이다. 먼저 설치를 해보자.

    npm install @reduxjs/toolkit

    설치를 하고, 먼저 해볼건 createAction이다.

    // const ADD = "ADD";
    // const DELETE = "DELETE";
    
    // const addToDo = text => {
    //     return {
    //         type: ADD,
    //         text 
    //     };
    // }
    
    // const deleteToDo = id => {
    //     return { 
    //         type: DELETE,
    //         id: parseInt(id)
    //     };
    // }
    const addToDo = createAction("ADD");
    const deleteToDo = createAction("DELETE");

    이런 식으로, 변수를 잡고, type지정을 하는 것에서 createAction함수 하나로 줄일 수 있다. 

    그리고,

    // const reducer = (state = [], action) => {
    //     switch(action.type) {
    //         case ADD:
    //             return [...state, { text: action.text, id: Date.now()}];
    //         case DELETE:
    //             return state.filter(toDo => toDo.id !== action.id);
    //         default:
    //             return state;
    //     }
    // };
    const reducer = (state = [], action) => {
        switch(action.type) {
            case addToDo.type:
                return [...state, { text: action.payload, id: Date.now()}];
            case deleteToDo.type:
                return state.filter(toDo => toDo.id !== action.payload);
            default:
                return state;
        }
    };

    case에 각각 addToDo.type, deleteToDo.type라고 적어줘야 한다. 콘솔에 찍어보면 각각 ADD, DELETE라는 텍스트가 나온다. 그리고 action에는 payload라는 data가 무조건오게 되고, action.text가 아니라 action.payload라고 적어주면 된다.

    'Redux' 카테고리의 다른 글

    Redux toolkit (create Slice)  (0) 2022.07.29
    Redux toolkit(create Reducer)  (0) 2022.07.29
    mapStateToProps와 mapDispatchToProps  (0) 2022.07.28
    리덕스만으로 todo 만들기  (0) 2022.07.27
    개선사항  (0) 2022.07.27

    댓글

Designed by Tistory.