[React JS] Context

박세화·2023년 5월 12일

React JS

목록 보기
2/22
import React, { createContext, useContext } from 'react';

const themeDefault = { border: '10px solid red' };
const themeContext = createContext(themeDefault);

export default function App() {
	const theme = useContext(themeContext);
	return (
		<div style={theme}>
			<Sub1 />
		</div>
	)

function Sub1() {
	const theme = useContext(themeContext);
	return (
		<themeContext.provider value = {{ border: '10px solid green' }}>
			<div style={theme}>
				<Sub2 />
			</div>
		</themeContext.provider>
	);
};

function Sub2() {
	const theme = useContext(themeContext);
	return (
			<div style={theme}>
				<Sub3 />
			</div>
	);
};

Sub2는 <themeContext.provider> 안에 들어있다. 그리고 Sub3는 Sub2 안에 있다.

<themeContext.provider> 로 감싸진 부분 안에서 Sub2와 Sub3의 useContext가 뱉어내는 값이 value = {{ border: '10px solid green' }}가 된다.

useContext 를 사용하면 그것의 값은 부모 컴포넌트 중 첫 번째로 등장하는 provider의 value가 된다.

0개의 댓글