컨텍스트로 React 상태 관리하기

유튜브 :

코드샌드박스 :

동기 부여

Context를 사용하여 React 상태를 처리하는 이유는 무엇입니까? Redux 를 사용하여 애플리케이션 스토어를 관리 하는 것과 같은 이유 입니다. 구성 요소가 서로 통신하고 리프팅 상태 가 번거롭다면 Context는 애플리케이션 상태를 처리하는 기본 방법입니다.

전제 조건

<App>Context를 사용하기 위해 로컬 상태를 사용하는 리팩토링 을 할 것입니다 .

보시다시피 카운트를 늘리거나 줄이는 2개의 버튼이 있는 카운터가 있습니다.

공급자

<Provider>prop value을 생성 하고 0으로 설정합니다 .

<Provider>에서 최상위 구성 요소로 렌더링 index.js:

공급자 가져 오기 value와 useContext의를 <App>:

리듀서 사용

감속기 함수 생성:

상태 및 디스패치 useReducer를 Provider prop에 전달합니다 value.

<App>새 컨텍스트 값으로 업데이트 :

소비자

대안 useContext은 Consumer 입니다.

먼저 Consumer컨텍스트 에서 내보냅니다 .

그리고 교체 useContext와 함께 <Consumer>:

<Consumer>prop 에 대한 콜백 함수가 필요합니다 children. 첫 번째 인수는 Provider value입니다.

수업

클래스 구성 요소의 경우 다음에서 Provider 값에 액세스할 수 있습니다 this.context.

할 것

개선을 위한 아이디어:

  • 에 대한 사용자 정의 후크 를 빌드합니다 useContext(Context).
  • 작업 유형을 상수로 리팩터링합니다.
  • 액션 생성자를 만듭니다.
  • displayName컨텍스트에서 설정 하여 React DevTools의 가시성을 향상시킵니다.
  • 유튜브 영상
  • 코드샌드박스 데모
  • 문맥
  • 리듀서 사용

Suggested posts

뇌졸중의 치명적인 결과 피하기: 가족의 여정에서 배우기 .

뇌졸중의 치명적인 결과 피하기: 가족의 여정에서 배우기 .

머리말 뇌졸중은 누구에게나 언제든지 닥칠 수 있는 의학적 응급 상황입니다. 뇌의 한 부분으로의 혈류가 중단되어 갑작스러운 뇌 기능 상실로 이어질 때 발생합니다.

내가 가장 많이 사용하는 코딩 리소스

내가 가장 많이 사용하는 코딩 리소스

이번 주에 저는 일일 이메일 목록의 회원으로부터 이메일을 받았습니다. 그들은 알고 싶어했습니다. 매일, 매주, 매월 어떤 리소스를 방문합니까? 좋은 질문입니다! 제 작업 흐름과 제가 사용하는 주요 리소스에 대한 통찰력을 공유하게 되어 기쁩니다.

Related posts

카우보이의 거짓말

거대 기업이 미국인에게 강력한 거짓을 판매하는 방법

카우보이의 거짓말

햇빛의 첫 번째 광선이 평원의 서리가 내린 풀을 비추는 서쪽 언덕의 눈부신 황금빛 아침입니다. 온화하고 거대한 새까만 앵거스 소 떼가 일출을 배경으로 윤곽을 그리며 다져진 길을 따라 모두가 잘 아는 지역으로 향합니다. 조식 바.

2년간의 디자인 - 좋은 것, 나쁜 것, 추한 것…

2년간의 디자인 - 좋은 것, 나쁜 것, 추한 것…

“Siri야, Olivia Dean의 Me Dive 재생해줘.” 나이지리아 아쿠레에 있는 Future Academy Africa에서 인턴십을 시작한 것은 2021년 5월이었습니다.

미디어 재검토: McChesney의 다섯 가지 진실과 커뮤니케이션의 미래

오늘날의 초연결 세계에서 미디어 시스템은 여론을 형성하고 결과적으로 민주적 의사 결정에 중추적인 역할을 합니다. 의사소통의 정치경제학에 대한 심오한 분석에서 학자인 Robert McChesney는 기존의 통념에 도전하고 그가 미디어에 대한 "다섯 가지 진실"이라고 부르는 것을 제시합니다.

조던 닐리의 살인과 "애국적" 인종차별의 문제

미국은 인종차별적 행동을 좋은 미국인이 되는 것과 동일시하지 않는 필수적인 조치를 취할 수 있습니까?

조던 닐리의 살인과 "애국적" 인종차별의 문제

[방아쇠 경고: 이 에세이에는 Jordan Neely의 살인자를 칭찬하는 사람들의 스크린 샷이 포함되어 있습니다.] 법 집행관은 마침내 그리고 아마도 마지못해 죽을 때까지 Jordan Neely를 질식시킨 사람인 Daniel Penny를 살인 혐의로 기소했습니다.