티스토리 뷰
React
Context API
import React, { Fragment } from 'react';
const UserContext = React.createContext('unknown')
class App extends React.Component {
render() {
return (
<div>
<UserContext.Provider value="NickName">
<div>상단 메뉴</div>
<Profile />
<div>하단 메뉴</div>
</UserContext.Provider>
</div>
)
}
}
function Profile() {
return (
<div>
<Greeting />
</div>
)
}
function Greeting() {
return (
<UserContext.Consumer>
{ username => <p>{`${username}님 안녕하세요`}</p>}
</UserContext.Consumer>
)
}
export default App;
Provider, Consumer
import React, { Fragment } from 'react';
const ThemeContext = React.createContext('power')
const UserContext = React.createContext('unknown')
class App extends React.Component {
state = { username: '' };
onChange = e => {
const username = e.target.value
this.setState({ username })
}
render() {
const { username } = this.state
return (
<div>
<ThemeContext.Provider value="light">
<UserContext.Provider value={username}>
<div>상단 메뉴</div>
<Profile />
<div>하단 메뉴</div>
<input type='text' value={username} onChange={this.onChange}></input>
</UserContext.Provider>
</ThemeContext.Provider>
</div>
)
}
}
class Profile extends React.Component {
shouldComponentUpdate() {
return true;
}
render() {
console.log("홍길동")
return (
<div>
<Greeting />
</div>
)
}
}
function Greeting() {
return (
<ThemeContext.Consumer value="light">
{theme => (
<UserContext.Consumer>
{username => <p style={{color: theme === 'dark' ? 'gray' : 'green'}}>{`${username}님 안녕하세요`}</p>}
</UserContext.Consumer>
)}
</ThemeContext.Consumer>
)
}
export default App;
반응형
'활동 > 교육과정 중 기록' 카테고리의 다른 글
200314 Spring Boot (0) | 2020.03.14 |
---|---|
200211 React (0) | 2020.02.11 |
200206 React (0) | 2020.02.06 |
200205 React, JavaScript (0) | 2020.02.05 |
200204 React (0) | 2020.02.04 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 개발자 취업
- 패스트캠퍼스
- 코딩 면접
- Fast Campus
- 올인원 패키지
- 자료구조
- 운영체제
- 컴퓨터공학
- 프로그래밍 온라인 강의
- #패스트캠퍼스 #프로그래밍대학생서포터즈 #올인원패키지 #컴퓨터공학 #성공하는프로그래밍공부법
- c언어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함