Context API
props를 여러개 써줘야 하는 상황이 번거롭기 때문에 사용하는 API
-< Context > 로 감싸진 태그안의 모든 컴포넌트는 재고, place 사용가능
*** import 해주기 전에 export 되어있는지 확인하기
==> 어려우면 props쓰면 됨
여러개의 컴포넌트가 중첩이 되어있는 경우 사용하면 좋을듯
Context API 특징
1. state 변경시, 쓸데없는 것까지 재랜더링 --> 성능 이슈 발생 가능
2. 나중에 컴포넌트 재사용이 어려움 (다른 페이지에서 사용하려고 하면 난감해지는 경우 많음)
*** Context API 대신 외부 라이브러리를 더 많이 사용함 (EX> Redux)
장바구니 페이지 만들기
테이블 태그 설명
장바구니 state가 App, Detail, Cart에 필요하면 어디 만들어야할까?
--> 원래는 가장 상위폴더인 APP에 만들어야 하지만,
다 props 주면 번거로우니까 Redux를 사용하자!
Redux 설치방법
터미널에 npm install @reduxsjs/toolkit react-redux 입력
Redux 세팅 방법
import { configureStore } from '@reduxjs/toolkit'
export default configureStore({
reducer: { }
})
Redux store에 state 보관하는 법
==> 모든 컴포넌트들이 user라는 컴포넌트를 가져다 사용 할 수 있음!
Redux store의 state 꺼내는 법
let a = useSelector((state)=>{return state})
새로운 redux slice 만드는 법
사용하려는 곳에 console로 찍어보면
이렇게 뜸
useSelector 편하게 쓰기위한 팁
let a = useSelector((state)=>{return state})
let a = useSelector((state)=>{return state.stock})
console.log(a)
이런식으로 return state.원하는slice명 으로 사용해도 됨
let a = useSelector((state)=>{return state.stock})
let a = useSelector((state)=> state.stock )
// 위 아래는 같은 코드
Redux 쓰면 편한데 왜 props 쓰는지?
주의사항