earthkingman / 42Swim

42서울 QnA 서비스
14 stars 3 forks source link

Feature/router proxy setting #45

Closed nyeoni closed 3 years ago

nyeoni commented 3 years ago

개요

Typscript React 를 react-toolkit 을 이용하여 리덕스 설정하기

작업사항

  1. @reduxjs/toolkit immer 을 이용하여 리덕스 rootReducer 설정
#src/index.tsx
import React from 'react'
import ReactDOM from 'react-dom'
import { Provider } from 'react-redux'
import { App } from './App'
import { store } from './modules/store'

ReactDOM.render(
  <React.StrictMode>
    <Provider store={store}>
      <App />
    </Provider>
  </React.StrictMode>,
  document.getElementById('root')
) 
  1. user initial State 설정
#src/modules/user_reducer.tsx
const initialState: UserState = {
  loginData: {
    nickname: '',
    email: '',
  },
  registData: {
    nickname: '',
  },
  authData: {
    token: '',
  },
}
  1. createAction + createReducer = createSlice 설정
#src/modules/user_reducer.tsx
export const userSlice = createSlice({
  name: 'user',
  initialState,
  reducers: {
    login: (state, action: PayloadAction<any>) => {
      state.loginData = action.payload
    },
    regist: (state, action: PayloadAction<any>) => {
      state.registData = action.payload
    },
    auth: (state, action: PayloadAction<any>) => {
      state.authData = action.payload
    },
  },
})

export const { login, regist, auth } = userSlice.actions
export default userSlice.reducer

변경로직