04/17-1[14일복습]

Posted by:

|

On:

|

Context

일반적으로는 props를 쓰는데 자손 이하로 내려갈 때 props를 너무 많이 쓰기 때문에 그것을 대신하기 위한 방법.

React.createContext : context 생성. () 안에는 null이나 빈 값

최상위에서 쓸려면 <Context이름.Provider></Context이름.Provider> 로 쓴다.

위에서 provider에서 value=값으로 지정해놓고 쓸려면 하위에 useContext(Context이름)으로 불러 올 수 있다.[value만 가능하다. 그 외는 props로 처리됨]

객체도 값으로 들어 갈 수 있다.

다른 컴포넌트에서도 쓰게 만드는 방법은 다음과 같다.

생성되는 컴포넌트(context)

let DataProvide=({children})=>{
let [input,setInput]=useState()

let value={state:{input}, action:{setInput}}

return <컴포넌트이름.Provide vale={value}>{children}</컴포넌트이름.Provide>

export {DataProvide}

export default 컴포넌트이름

다른곳에서 쓸 때

let value=useContext{컴포넌트이름};

단일이면 value를 바로 쓰고 배열형 또는 객채형인 경우 value.state.boardlist처럼 value 값을 콘솔로 확인하고 안으로 들어가는 방식을 쓴다.