front-end/React
React Redux 설치, 세팅, 사용하기
Hoon0211
2023. 10. 15. 22:12
728x90
1. Redux 설치하기
npm install @reduxjs/toolkit react-redux
2. Redux 세팅하기
- store.js파일 만들기
- src/store.js에 기본 세팅 입력하기
import { configureStore } from '@reduxjs/toolkit'
export default configureStore({
reducer: { }
})
- index.js 파일로 이동하기
- Porovider와 store.js 를 import 하기
- Porovider로 감싸기
// 생략
import { Provider } from "react-redux";
import store from './store.js'
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<Provider store={store}>
<App />
</Provider>
</React.StrictMode>
);
// 생략
3. Redux 사용하기
- store.js에 입력하기
- createSlice( ) 로 state를 생성 후 configureStore( ) 안에 등록하는 방식입니다.
- title.title에 심투의 블로그입니다. 라는 내용이 저장되는 방식입니다.
import { configureStore, createSlice } from '@reduxjs/toolkit'
let title = createSlice({
name : 'title',
initialState : '심투의 블로그입니다.'
})
let user = createSlice({
name : 'user',
initialState : 'SIM-TOO'
})
export default configureStore({
reducer: {
title : title.reducer,
user : user.reducer,
}
})
- App.js에서 사용하기
import { useSelector } from "react-redux"
function App() {
let test = useSelector((state) => { return state } )
return (
<div>
<p>{test.title}</p>
<p>안녕하세요</p>
<p>여기의 작성자는 : {test.user}</p>
</div>
);
}
export default App;
- 배열 방식도 저장이 가능합니다.
let basket = createSlice({
name : 'basket',
initialState : [
{id : 0, name : '빨간색사탕', count : 0},
{id : 1, name : '노란색사탕', count : 1}
]
})
export default configureStore({
reducer: {
basket : basket.reducer
}
})
728x90