ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • React - Context API
    Front-end/React 2023. 7. 19. 01:24
    728x90
    반응형

    React Context API

    Context APIprops를 일일히 자식 태그마다 넘겨보내지 않고

    컴포넌트 트리 전체데이터를 쉽게 공유할 수 있도록 해주는 React 내장함수이다.

     

    Contex API를 사용하기위에 createContext함수import 해야한다.

    import { createContext } from "react";

     

    createContext 함수란 context를 생성하여 공용하기위한 데이터(state)를 저장한다.

    export let Context1 = createContext();

     

    데이터를 공유하기위해 context를 생성하여 state 공유를 원하는 태그를 감싸준다.

    // 공용으로 사용할 데이터
    let [product] = useState(['hat', 'shirt', 'glove']);
    
    ...
    
    
    // 보내고 싶은 컴포넌트 태그에 Context태그로 감싸주고 
    // .Provide를 붙인후에 value속에 공용데이터를 선언한다.
    <Context1.Provider value={{ product }}>
      <Detail shoes={shoes} />
    </Context1.Provider>

    Context1 태그에 .provider를 사용하여 value에 있는 값을 하위 태그에 제공한다.

     

     

     

    반응형

     

     

     

    Detail 컴포넌트에서 product를 받아서 사용할 수 있다.

    제공받은 데이터를 Detail 컴포넌트에서 useContext함수를 써 사용할수있다.

    import { useContext } from 'react';
    import { Context1 } from './../App.js'

     

    importuseContext를 사용할 수 있도록 선언하고 Context1을 사용하도록 받아온다.

    Context1을 사용하기위해 useContext를 사용하여 Context를 불러온다.

    let { product } = useContext(Context1);

     

     

    받아온 product를 화면에 표출하면 props를 사용하지 않고전달받을 수 있다.

     

    728x90
    반응형

    'Front-end > React' 카테고리의 다른 글

    React - Redux 수정  (0) 2023.07.20
    React - Redux 셋팅  (0) 2023.07.20
    React - Ajax Axios  (0) 2023.07.18
    React Lifecycle & useEffect - 2  (0) 2023.07.12
    React Lifecycle & useEffect - 1  (0) 2023.07.12
Designed by Tistory.