Redux toolkit 까먹었을 때 🙈

YOUNGJOO-YOON·2021년 6월 24일
1

Redux

목록 보기
14/14

boiler plate


import React from 'react';
import { Provider } from 'react-redux';
import store from './store/store';



export default function App() {
  return (

    <Provider store={store}>
	<Home/>
	</Provider>

  );
}
// store
import { configureStore } from '@reduxjs/toolkit';
import counterReducer from './counterReducer';
export default configureStore({
  reducer: {
    counter: counterReducer,
  },
});
// slice
import { createSlice } from '@reduxjs/toolkit';

const initialState = {
  count: 0,
};
export const counterSlice = createSlice({
  name: 'counter',
  initialState,
  reducers: {
    setCounter: (state, action) => {
      state.count = action.payload;
    },
  },
  extraReducers: {},
});

export const { setCounter } = counterSlice.actions;
export const selectCounter = (state) => state.counter.count;
export default counterSlice.reducer;

1. 예시는 counter 예시로 한다.

2. useSelector, useDispatch

selectCounter, setCounter에 대해 알아보자.

setCounter는 setState처럼 setter의 역할을 한다.

// useDispatch
// setCounter

...
const dispatch=useDispatch(); // dependencies = react-redux
dispatch(setCounter(1)); // store에서 state를 1로 업데이트 함

selectCounter는 store의 state를 참조한다.

// useSelector
// selectCOunter
...
const count=useSelector(selectCounter); // dependencies= react-redux count는 이제 store의 counterSlice의 state를 참조한다.
console.log(count);
...

profile
이 블로그의 글은 제 생각을 정리한 글과 인터넷 어딘가에서 배운 것을 정리한 글입니다. 출처는 되도록 남기도록 하겠습니다. 수정 및 건의 오류 등이 있으면 언제든지 댓글 부탁드립니다.

0개의 댓글