programing

React state vs Redux Store를 선택하는 경우

codeshow 2023. 2. 26. 10:18
반응형

React state vs Redux Store를 선택하는 경우

지금까지 Redx에 대해 배웠습니다만, react state vs redux store와 디스패치 액션을 어떻게 판단해야 하는지 잘 모르겠습니다.지금까지 읽어본 바로는 리액트 상태로 리액트 스토어 대신 작업을 수행할 수 있을 것 같습니다.Redx 스토어를 사용하는 것과 컨테이너 컴포넌트 1개와 나머지 컴포넌트를 상태 비저장 컴포넌트로 사용하는 것에 대한 우려의 구분은 이해하지만 React state vs redux 스토어를 사용할 시기를 결정하는 방법은 명확하지 않습니다.누가 좀 도와줄래요?

감사합니다!

상태를 다른 컴포넌트와 공유할 필요가 없거나 컴포넌트가 마운트 해제되었을 때 상태를 유지할 필요가 없는 경우에는 컴포넌트 상태로 할 수 있습니다.

Redux 스토어는 프런트엔드의 데이터베이스라고 생각할 수 있습니다.API에서 가져온 제품 데이터 같은 것이 있으면 Redux 스토어가 적절한 장소입니다.드롭다운 컴포넌트가 있으면 Redux 스토어가 적절한 장소입니다.isOpen그러면 드롭다운의 부모가 계속 사용할 수 있습니다.dropdownIsOpen컴포넌트 상태로 표시됩니다.

자세한 내용은 Dan의 답변입니다.https://github.com/reactjs/redux/issues/1287

그리고 너는 말했다.

컨테이너 컴포넌트 1개만 나머지 컴포넌트 상태 비저장 컴포넌트

틀렸습니다.여러 개의 컨테이너 구성 요소를 가질 수 있습니다.컨테이너 컴포넌트는 다른 컨테이너 컴포넌트를 포함할 수도 있습니다.

원서적:

우선, 필요한 최소한의 데이터만 상태에 넣는다는 것을 항상 염두에 두어야 합니다.예를 들어 버튼을 클릭했을 때 라벨을 변경해야 할 경우 라벨의 텍스트를 저장하지 않고 버튼을 클릭했는지 여부를 알려주는 Boolean 플래그만 저장해야 합니다.둘째, 이벤트 발생 시 업데이트하고 컴포넌트를 다시 렌더링하는 값만 상태에 추가해야 합니다.상태가 정보를 저장하는 데 적합한지 여부를 확인하는 또 다른 방법은 우리가 유지하는 데이터가 컴포넌트 자체 외부에 필요한지 또는 컴포넌트 자식에 의해 필요한지 확인하는 것입니다.여러 컴포넌트가 동일한 정보를 추적해야 하는 경우 애플리케이션 수준에서 Redux와 같은 상태 관리자를 사용하는 것을 고려해야 합니다.

몇 가지 파악해야 할 사항이 있습니다.

컴포넌트 상태:HOC 고유의 상태를 유지하려면 state를 사용합니다.함수 컴포넌트에서는 useState를 사용합니다.

redex 상태: 애플리케이션 전체에서 데이터를 공유하려면 redex 상태를 사용합니다.

리덕스 저장소:레독스 라이브러리용 데이터베이스일 뿐이에요.리덕스의 경우 점포는 1개뿐입니다.여러 매장을 이용하려면 Flux를 사용할 수 있지만 더 복잡해집니다.

당신이 전적으로 옳아요.Redux(및 일반적으로 플럭스 아키텍처)는 대규모 애플리케이션을 구축하는 데 도움이 되는 형식적인 도구일 뿐입니다.그것들은 전혀 필요하지 않다.

실제로 리덕스 개발자인 Dan Abramov의 "Redux가 필요 없을 수도 있습니다"라는 흥미로운 게시물이 있습니다.https://medium.com/ @dan_reduxv/you-might-not-need-be46360cf367 #.7093fm1z8

특정 구성요소에 대해서만 상태가 필요한 경우 반응 상태를 사용하는 것을 선호합니다.예를 들어 UI 작업에 상태 사용

컴포넌트/프로젝트에서 사용할 상태가 있으면 redux 상태로 이동합니다.예를 들어 API 응답 데이터 등

자세한 내용은 이 링크를 참조하십시오.

https://spin.atomicobject.com/2017/06/07/react-state-vs-redux-state/

언급URL : https://stackoverflow.com/questions/41584647/when-do-i-choose-react-state-vs-redux-store

반응형