반응형
전체 장바구니 데이터를 모든 컴포넌트에서 사용하고 싶다
전체 state를 관리하는 폴더의 이름은 store라고 보통 이름 짓는다
store 폴더 내에 cart-context.js 파일을 생성한다
import React from 'react';
const CartContext = React.createContext({
items: [],
totalAmount: 0,
addItem: (item) => {},
removeItem: (id) => {},
});
export default CartContext;
이제 이 state를 관리하기 위해서 useState나 useReducer를 사용해야 할 것이다
CartProvider.js 파일 생성
이 컴포넌트의 목표는 CartContext 데이터를
관리하고, 그 컨텍스트를
접근하려는 모든 컴포넌트에 제공하는 것입니다
이제 CartProvider.js 를 사용할 수 있다
import CartContext from './cart-context';
const CartProvider = props => {
const addItemToCartHandler = item => { };
const removeItemFromCartHandler = id => { };
const cartContext = {
// 도우미 상수
item: [],
totalAmount: 0,
addItem: addItemToCartHandler,
removeItem: removeItemFromCartHandler
};
return <CartContext.Provider value={cartContext}>
{props.children}
</CartContext.Provider>
}
export default CartProvider;
반응형
'온라인 강의 > React 완벽 가이드 [Udemy]' 카테고리의 다른 글
153. 장바구니 리듀서 추가 (0) | 2023.06.16 |
---|---|
152. 컨텍스트 사용 (0) | 2023.06.15 |
150. 카트 및 모달 State 관리 (0) | 2023.06.15 |
149. 리액트 Portal을 통해 모달 추가하기 (0) | 2023.06.14 |
148. "장바구니" 컴포넌트 작업하기 (0) | 2023.06.14 |