반응 언어 환경에 대한 몇 가지 사고
본 블로그에서 저는'React 상하문을 어떻게 설정하고, React 상하문을 어떻게 사용하는지'를 상세하게 소개하지 않지만, 제 생각만 공유하고 싶습니다.
1. 컨텍스트 API가 필요한 이유는 무엇입니까?
만약 당신이 React를 사용하고 있다면, 도구 드릴링이라는 아주 짜증나는 일을 처리해야 할 수도 있습니다.이런 상황에서 당신은 일부 구성 요소를 통해 도구를 전달해야 한다. 그러나 이 구성 요소들은 진정으로 도구를 필요로 하지 않는다. 단지 아이(또는 한 아이)가 이 도구를 필요로 하기 때문이다.
기본적으로 Context API는 일부 도구와 여러 구성 요소와 공유할 수 있는 데이터를 저장할 수 있는 글로벌 스토리지를 만들 수 있는 기회를 제공합니다.
2. Redux와 비교
등등, 이것이 Redux(또는 그 어떠한 주 관리 라이브러리)가 해결하고자 하는 문제입니까? 만약 그것이 내장된 React라면, 왜 우리는 이런 주 관리 라이브러리가 필요합니까?
물론 도구 연습을 처리하기 위해서라면 이 라이브러리들은 지금처럼 인기가 없을 것이다.
나는 Redux를 사용한 경험(아직 약간의 시간적 반충)이 있기 때문에 나는 Redux와 상하문 API를 비교하는 데 중점을 둘 뿐이다.
a. 특징
b. 설정
3. 열세
가게
내가 기능 부분에서 언급한 바와 같이 상하문 API의 단점 중 하나는 소비자가 공급자 하나만 사용할 수 있다는 것이다. 즉, 서로 다른'저장'(상하문)의 데이터를 사용하려면 이렇게 그것들을 함께 포장해야 한다.
<ThemeContext.Provider value={theme}>
<UserContext.Provider value={signedInUser}>
<Layout />
</UserContext.Provider>
</ThemeContext.Provider>
그런데 여기 뭐가 안 좋아요?b. 기능 제한
앞서 기능 부분에서 언급한 바와 같이 React Context는 전역 저장소에 불과하기 때문에 React Context는 보통 소형 프로젝트에 사용된다.더 큰 프로젝트가 관련되었을 때, Redux (또는 다른 상태 관리 libs) 는 풍부한 기능을 가지고 있기 때문에 선택이다.물론, 우리는 여전히 React 상하문과 다른 상태 관리 라이브러리를 사용할 수 있다.그러나 내가 보기에, 우리가 이미 '글로벌 상점' 을 개설한 이상, 왜 또 하나를 개설해야 하는가.맞습니까?
4. 마지막 생각
비록 기능이 제한되어 있지만, 나는 여전히 React Context를 좋아한다.특히 다른 LIB가 데이터를 전역 상태로 저장할 수 있을 때(예를 들어 Apollo Graphql,React query 등)맞춤형 연결의 탄생.
오늘은 여기까지.다음에 봐요.안녕히 계십시오.
Reference
이 문제에 관하여(반응 언어 환경에 대한 몇 가지 사고), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/trunghieu99tt/some-thoughts-about-react-context-52pa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)