본문 바로가기
React

React context API

by flykimjiwon 2022. 1. 16.
반응형

props와달리

 

계속 props->props해서 안쓰고 좀더 다른방식으로 사용할 수 있는 방법

 

컴포넌트 > 컴포넌트 > 컴포넌트 이렇게 있을때 겉에 감싸주기만 하면 사용할 수 있다.

 

import React,{useContext, useState} from 'react';

useContext를 가져와서

 

let 재고context = React.createContext()

function App() {

  let [shoes,shoes변경] = useState(Data)
  let [재고,재고변경] = useState([10,11,12])

.........

이와같이 context를 만들어준다

 

그리고 아래와같이

 

context.Provider로 감싸주고, 

 

안에 useState에서 선언한 변수를 넣어준다.

 

 <재고context.Provider  value = {재고}>
    {/* 이안에서는 자유롭게 재고 사용가능 */}
  <div className="row">          
      {
        shoes.map((a,i)=>{
          return <Card shoes={shoes[i]} i={i} ></Card>
        })
      }

      

  </div>
  </재고context.Provider>
function Card(props){

  let 재고 = useContext(재고context)
  // Hook임, 그리고 뒤에는 범위 이름 넣으면됨

  return(
    <>
    <div className="col-md-4"> 
    <img src={'https://codingapple1.github.io/shop/shoes'+(props.i+1)+'.jpg'} width="100%"></img>
     <h4>{props.shoes.title}</h4>
    <p>{props.shoes.content} & {props.shoes.price}</p></div>
    {/* {재고[props.i]} */}
    </>
  )
}

그리고 이와같이 사용할 컴포넌트안에 선언해서 useContext를 이용해사용해주면된다.

 

그리고 다른 파일에 export,import해서 사용하는 컴포넌트에도 마찬가지로 사용해 줄 수 있다.

 

하지만 그냥 props나 리덕스를 더 사용할거같다. 우선 알아두도록하자. 쓰게되면 다시 찾아서 사용하기로

반응형

'React' 카테고리의 다른 글

React Redux 1  (0) 2022.01.17
React Tab UI,(react-transition-group)  (0) 2022.01.16
React 배포(build)  (0) 2022.01.16
React Component중첩, props, state  (0) 2022.01.15
React Ajax  (0) 2022.01.15