Component가 많을 때 props 대신 Context API 쓰기
props로 전송 : 컴포넌트의 재고 state → 에 데이터 바인딩
하위 컴포넌트들이 props 대신 state를 사용가능하게 만들어주는 Context문법
→ 같은 변수 값을 공유할 범위 생성
let stockContext = React.createContext();
→ value = {공유할 데이터}
→ <범위></범위> 안에 있는 모든 HTML과 컴포넌트는 stock state를 사용 가능
function App(){
let [stock, changeStock] = useState([10,11,12]);
return (
HTML...
<stockContext.Provider value={stock}>
<Card....>
</stockContext.Provider>
)
}
import React, {useState, useContext} from 'react';
function Card(){
let stock = useContext(stockContext);
return (
<HTML...>
<div>{stock}<div>
)
}
function Card(){
let stock = useContext(stockContext);
return (
<HTML...>
<Test/>
)
}
function Test(){
let stock = useContext(stockContext);
return <p>{ stock }</p>
}
(App.js) export 추가
export let stockContext = React.createContext();
(Detail.js) import 추가
import { stockContext } from './App.js';
function Detail(){
let stock = useContext(stockContext);
return (
...
<stockContext.Provider value={stock}>
<Card....>
</stockContext.Provider>
...
)
}