import React , { useState } from "react" ;
function UserDetailsComponent( ) {
const [ userDetails , setUserDetails ] = useState ( {
name : "Bj" ,
age : 27
}) ;
return (
<div>
<h1> 상위 구성 요소 </h1>
<ChildComponent userDetails={userDetails}></ChildComponent>
</div>
)
}
function ChildComponent ( props ) {
return (
<div>
<h2> 하위 구성 요소 </h2>
<SubChildComponent userDetails={props.userDetails}</SubChildComponent>
</div>
)
}
function SubChildComponent ( props ) {
return (
<div>
<h3> 하위 구성 요소 </h3>
<h4> Name : {props.userDetails.name} </h4>
<h4> Age : {props.userDetails.age} </h4>
</div>
)
}
import React , {useState, createContext} from "react" ;
const userDetailContext = React.createContext(null);
export default function UserDetailsComponent ( ) {
let [userDetails] = useState ({
name : "Bj" ,
age : 27
}) ;
return (
<userDetailContext.Provider value = {userDetails}>
<h1> 상위 구성 요소 </h1>
<ChildComponent userDetails={userDetails}/>
</userDetailContext.Provider>
) ;
}
✅React.createContext(null)
✅Provider 와 value
import React, { useState ,createContext} from "react";
const userDetailContext = React.createContext(null);
export default function UserDetailsComponent() {
let [userDetails] = useState({
name: "Bj",
age: 27
});
return (
<userDetailContext.Provider value={userDetails}>
<h1>상위 구성 요소</h1>
<ChildComponent userDetails={userDetails} />
</userDetailContext.Provider>
);
}
function ChildComponent() {
return (
<div>
<h2>하위 구성 요소</h2>
<SubChildComponent />
</div>
);
}
function SubChildComponent(props) {
const contextData = React.useContext(userDetailContext);
return (
<div>
<h3>하위 구성 요소</h3>
<h4>User Name: {contextData.name}</h4>
<h4>User Age: {contextData.age}</h4>
</div>
);
}