ThemeContext가 뭔가요? ?
643
작성한 질문수 25
선생님 컨텍스트 API 강의에서는 createContext로 저장소를 만들고 useContext로 이용한다고 배웠는데
지금 나온 ThemeContext가 createContext 역할을 대신 해주는건가요?
그럼 createContext 에서 코드 짤 때
return <Context.Provider value={value}>{children}</Context.Provider>
이렇게 Provider로 감싸는 작업은 따로 없는건가요??
ThemeContext가 지금 App 전체를 감싸고 있는건가요?
헷갈려요 ㅠㅠ
답변 1
0
안녕하세요 wodnjs406 님,
styled-components 에서 제공하는 ThemeContext는 createContext를 이용해서 만들어진 Context 입니다.
App.js 파일에서 ThemeProvider로 전체를 감싸고,
하위 컴포넌트들에서는 useContext hook을 이용해서 전달된 theme을 이용합니다.
useContext hook에는 Context를 전달해야 하는데, 이때 ThemeContext를 전달해서 ThemeProvider에서 전달하는 theme을 받아서 사용하는겁니다.
Context 강의에서는 우리가 직접 Context를 만들어야하기때문에
createContext함수를 이용해서 Context를 만들고 export 했고,
styled-components에서는 제공하고 있는 ThemeProvider와 ThemeContext를 이용해서
theme을 전달하고 이용합니다.
VSCode에서 해당 함수 혹은 컴포넌트를 command키를 누른 상태로 클릭하면
(윈도우에서는 control키를 누른 상태로 클릭하면 될거에요)
정의된 파일로 이동되서 확인 할 수 있습니다.
이를 이용해 확인을 하면 도움이 될것이라 생각합니다.
즐거운 하루 되세요
감사합니다

맥북 m4에서 nvm으로 설치불가
0
109
2
expo 사용하지 않고 앱 실행 시, 데이터 불러오기
0
343
1
리덕스강의는 없나요?
0
269
1
선생님 도와주세요 ㅠㅠ (로그인, 회원가입, 콘솔 에러)
0
500
1
버젼 업데이트
0
415
1
expo start중 metro bundler가 같이 실행되지 않아요
0
502
1
모바일 expo 실행오류
0
853
1
안드로이드에서 expo실행이 안되요
0
845
2
터미널 다운 및 사용방법
0
295
1
expo init 에러
0
740
2
안녕하세요. 스택네비게이션 문제 질문드립니다 ㅜ
0
322
1
배포중 에러 해결이 안되네요.. ㅜㅜ
1
3223
1
안녕하세요! 강의 Chat App - Part 1 회원가입 부분에서 firebase 관련 에러가 납니다.
0
691
1
styled-components 에러
0
402
1
OS 네이트브 코드를 개발하면서 UI 를 리액트 네이티브로
0
488
1
저장하면 바뀐값들 보여야하는데 재렌더링이 안일어납니다..
0
500
1
안드로이드스튜디오 EXPO 어플 튕깁니다 ㅠㅠ
0
280
1
styled component를 사용하면 터집니다 ㅠㅠ
0
412
1
attrs, 속성, props 가 혼란스럽습니다.
0
349
1
안녕하세요, 강의 잘 들었습니다 :) RN과 파이어베이스 관련해서 질문드릴게 있습니다!
0
579
1
자꾸 The request timed out 에러가 뜹니다 .
0
1923
1
코드 좀 봐주세요 버튼 두개가 생성이 안되요
0
280
1
expo 실행시 스타일 속성 바로 보려면 어디서 보나요?
0
430
1
자바스크립트 () => 의미는요???
0
446
2





