//app.js
[...]
import PageContextProvider from "./component/provider/pagecontextprovider";
function App() {
return (
<PageContextProvider>
<div className="App relative">
<BrowserRouter>
<Switch>
<Route exact path="/" component={Main} />
<Route exact path="/membership" component={Membership} />
[...]
//provider폴더의 pagecontextprovider.js
import React,{useState, useEffect, createContext} from 'react'
export const PageContext = createContext();
const PageContextProvider = (props) => {
const [user, setUser] = useState({
'name':'harrypotter',
});
const array2 = [1,2,3,4];
const [number, setNumber] = useState(33)
const onIncrease = ()=>{
setNumber(number+1)
}
return (
<PageContext.Provider value={{
user:user,
array2,
number:number,
onIncrease
}}>{props.children}
</PageContext.Provider>
);
}
export default PageContextProvider;
//하위 컴퍼넌트에 출력
//app.js 하위컴퍼넌트에 출력
[...]
const {user} = useContext(PageContext);
const {array2} = useContext(PageContext);
const {number} = useContext(PageContext);
const {onIncrease} = useContext(PageContext);
return (
<div id="morning">
{user.name}
{array2}
{number}
<button onClick = {onIncrease}>age+1</button>
<div className="morning_tit border-b-2">
[...]
'프론트엔드 공부 > react' 카테고리의 다른 글
urlParams , 쿼리 (0) | 2021.07.30 |
---|---|
react localStorage 사용하여 데이터 로컬에 저장후 사용 (0) | 2021.07.27 |
contextapi 예제 (0) | 2021.07.26 |
axios로 외부 api, data.json 불러오기 + 로딩소스 추가 (0) | 2021.07.23 |
useState,useEffect 로 parrallex구현 (0) | 2021.07.14 |