redux는 상위 컴퍼넌트에서 createStore로 하위컴퍼넌트들이 같은 값을 공유하게 만들수 있는 라이브러리
(Context API와 유사)
사용방법
1.react-redux, redux를 npm install 받은후
하단처럼 전달받을 하위 컴퍼넌트들에 묶고 데이터 전송
//index.js
[..]
import { Provider } from "react-redux";
import { createStore } from "redux";
let store = createStore(() => {
return [{ id: 0, name: "멋진신발", quan: 2 }];
});
ReactDOM.render(
<React.StrictMode>
<BrowserRouter>
<Provider store={store}>
<App />
</Provider>
</BrowserRouter>
</React.StrictMode>,
document.getElementById("root")
);
[..]
하위 컴퍼넌트에 전달, 해당 적용 export default connect로 변경
//*********App.js
[...]
<Route path="/cart">
<Cart></Cart>
</Route>
</Switch>
[...]
//***********Cart.js
import React from "react";
import { Table } from "react-bootstrap";
import { connect } from "react-redux";
function Cart(props) {
return (
<div>
<Table striped bordered hover size="sm">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>{props.state[0].name}</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
</tbody>
</Table>
</div>
);
}
function state를props화(state) {
return {
state: state, //state라는 이름의 props로 바꿔주세요
};
}
export default connect(state를props화)(Cart);
// export default Cart;
'프론트엔드관련 책예제실습정리 > CO.APP(react)' 카테고리의 다른 글
redux3 두개 이상의 redux 사용 (0) | 2021.07.04 |
---|---|
redux2(redux 설정방법과 활용) (0) | 2021.07.04 |
03-tab만들기까지 예제 (0) | 2021.07.01 |
setTimeout 사용시 주의점 (0) | 2021.07.01 |
useEffect 와 componentDidMount 차이 (0) | 2021.07.01 |