22/07/07
어제 페어와 함께 redux 과제를 다 풀고 복습하는 시간을 가졌다. 오늘 한 번 더 cmarketHooks 와 redux를 풀어 보며 동작하는 방식을 이해하고 어제 이해하지 못했던 store 와 useDispatch 와 일반적인 Dispatch에 대해서도 알게 되었다.
[어제 어려웠던내용]
redux에서 중요한 네가지 키워드중 store
부분이 이해가 안간다.
import { compose, createStore, applyMiddleware } from "redux";
import rootReducer from '../reducers/index';
import thunk from "redux-thunk";
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ?
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({})
: compose;
const store = createStore(rootReducer, composeEnhancers(applyMiddleware(thunk)));
export default store;
오늘 과제의 store 부분의 코드인데, 추가적인 학습이 필요할 것 같다.
그리고 redux hooks의 useDispatch 와 일반적인 Dispatch 둘의 관계도 조금 어려웠다. useDispatch만 사용해도 되는지 헷갈린다.
유어 클래스에서 제공하는 콘텐츠에서는 useDispatch
Dispatch
가 각각 다른 것처럼 내용이 되어있어서 헷갈렸다. 알고 보니 useDispatch()
를 사용하여 Dispatch
를 하는 내용이었다. (어이없었다ㅎㅎ) 그리고 store 선언 후 createStore
할당하는 이 부분이 이해가 안 갔는데 Redux 만든 사람이 정의해 놓은 거라 그냥 이렇게 사용하는 거구나 알게 되었다. 그리고 createStore(reducer)
리듀서를 값으로 전달하여 화면에 렌더링 되도록 하는 것을 이해하게 되었다.
redux를 사용할때 원본 값이 바뀌지 않도록 스프레드연산자나 assign을 사용하여 복사를한다.
redux만 고집 하지말고 리액트의 state,props 가 더 편할수도 있으니 상황에 맞게 사용하도록 한다.