redux install
npm i react-redux
yarn add react-redux
store ์์ฑ
import {createStore} from 'react';
const store = createStore();
Reducer
function reducer(state, action) {
//state์ ๊ธฐ๋ณธ๊ฐ
if(state === undefined){
return {
number: 1,
}
}
//๋ฐ์ดํฐ์ ๋ถ๋ณ์ฑ์ ์ํ ๋ณต์ฌ
const newState = {...state};
return newState
}
redux๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ 4๊ฐ์ง
import {Provider, useSelector, useDispatch, connect} from 'react-redux'
- Provider
- createStore ํ ๊ฐ์ ๋ฃ์ด์ค์ผํจ
export default function App(){
return(
<Provider store={store}>
<Component/>
</Provider>
)
}
- useSelector
- state ๋ฅผ ๊ฐ์ ธ์ฌ๋ ์ฌ์ฉ
- ์ธ์๋ก ํจ์๋ฅผ ๋ฐ์ ⇒ ํจ์๋ state ๊ฐ์ ์ธ์๋ก ๋ฐ์์ ์ด๋ค ๊ฐ์ ์ฌ์ฉํ ์ง ์ง์ ํ๋ฉด ๋
const number = useSelector(state => state.number)
- useDispatch
- action์ ์ ๋ฌ
const dispatch = useDispatch()
dispatch({type: 'PLUS'})
์ฐธ์กฐ ์ํ์ฝ๋ฉ react-redux
๋ฐ์ํ
'๐ TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[220821] useEffect (0) | 2022.08.21 |
---|---|
[220807]nwitter (0) | 2022.08.07 |
[220731] React useMemo , useReducer (0) | 2022.07.31 |
[220729] ๋ฆฌ์กํธ ์ค๊ฐ (0) | 2022.07.29 |
[220728] (0) | 2022.07.29 |