공부기록/[강의노트] Udemy React 완벽가이드 101~200
# 177 [udemy React 완벽 가이드 노트] 클래스 컴포넌트와 컨텍스트
Jenner
2022. 9. 30. 13:25
클래스 컴포넌트에서 컨텍스트 써보기
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에 접근할 수 있게 되었다.