클래스 컴포넌트에서 컨텍스트 써보기
1. Context.consumer 컴포넌트
함수형, 클래스 컴포넌트에 모두 쓸 수 있다.
render() {
return (
<>
<UsersContext.Consumer>
</UsersContext.Consumer>
이런식으로 말이다.
useContext를 이용하면 useContext를 여러 번 호출하고
매 번 다른 컴포넌트를 가리킴으로써
하나의 컴포넌트에서 여러 개의 컨텍스트를 받아 올 수 있다.
클래스 컴포넌트에서는 한 번에 하나의 컨텍스트만 연결할 수 있다.
그것을 위해 static 프라퍼티를 추가한다.
static 프로퍼티
class UserFinder extends Component {
static contextType = UsersContext;
이렇게 하면 리액트에게 이 컴포넌트는
UsersContext라는 컨텍스트에 접근할 수 있다고 전달하는 것이다.
그러나 이것은 단 한번만 설정할 수 있다.
두가지 이상 컨텍스트가 연결되어야 한다면 다른 방법을 찾아봐야 한다.
componentDidMount() {
this.setState({ filteredUsers: this.context.users });
}
일단 여기서는 한가지만 설정되었기 때문에
this.context.users로 users에 접근할 수 있게 되었다.
'공부기록 > [강의노트] Udemy React 완벽가이드 101~200' 카테고리의 다른 글
# 182 [udemy React 완벽 가이드 노트] 리액트가 데이터베이스와 소통하는 방법 (1) | 2022.09.30 |
---|---|
# 179 [udemy React 완벽 가이드 노트] 클래스 기반 컴포넌트를 써야할 때 : Error Boundaries (try-catch 문) (1) | 2022.09.30 |
# 175 [udemy React 완벽 가이드 노트] 클래스 컴포넌트 Lifecycle (0) | 2022.09.29 |
# 174 [udemy React 완벽 가이드 노트] class기반 컴포넌트에서 state및 이벤트 작업하기 (0) | 2022.09.29 |
# 173 [udemy React 완벽 가이드 노트] class-based Component: 함수형의 대안 (0) | 2022.09.29 |