오티스의개발일기

The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice 에러 본문

에러 모음/react-native

The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice 에러

안되면 될때까지.. 2022. 12. 21. 21:22
728x90

 

    extraReducers: { // 비동적인 엑션을 넣는다  외부적인 액션 (예를들어 userSlice에서 post의 액션을 써야할때 이곳에 적는데 그때는 동기가아니고 비동기여도 넣는다.)
        [logInRequest.pending](state, action) {
            state.loading = true;
        },
        [logInRequest.fulfilled](state, action) {
            state.user = action.payload;
            state.loading = false;
        },
        [logInRequest.rejected](state, action) {
            console.log('rejected 됨')
            console.log(action)
            state.user = null;
            state.loading = false;
        },
    }

 

expo에서 앱을 실행하는 도중 에러가 발생하였다.

에러

에러를 읽어보고 도큐멘트를 찾아보았지만

도큐멘트안에서는 저런 내용이 없었다.

업데이트를 아직 안한것같다....

 

뭐어쨌든...

본론으로 돌아가

 

redux-toolkit extraReducers 안에 

비동기 리턴값을 처리할때
표기 할수있는 방법이 2가지가있다.


위에있는 Map 표기법과
Builder 표기법이있는데

에러에 써있는것과 같이 현제는 map 표기법이 deprecated 된 상태이고

RTK2.0 때는 사라질 예정이라 되어있다.

 

그럼 이제 Map표기법에서 => Builder 표기법으로 바꿔보겠다.

    extraReducers: (builder) => { // 비동적인 엑션을 넣는다  외부적인 액션 (예를들어 userSlice에서 post의 액션을 써야할때 이곳에 적는데 그때는 동기가아니고 비동기여도 넣는다.)
        builder.addCase(logInRequest.pending, (state, action) => {
            state.loading = true;
        });
        builder.addCase(logInRequest.fulfilled, (state, action) => {
            state.user = action.payload;
            state.loading = false;
        });
        builder.addCase(logInRequest.rejected, (state, action) => {
            console.log('rejected 됨')
            console.log(action)
            state.user = null;
            state.loading = false;
        });
    },

 

이런식으로 바꿔주면 에러가 사라진다.

728x90
Comments