redux를 사용할 때 this.setState ()를 사용해야합니까?


111

this.setState()redux를 사용할 때 사용해야합니까 ? 아니면 항상 액션을 전달하고 소품에 의존해야합니까?


1
상태가있는 일부 구성 요소를 갖는 것은 잘못된 것이 아닙니다.
zerkms

3
그것은 상태가 사용되는 위치에 따라 완전히 다릅니다. redux 스토어를 글로벌이라고 생각하십시오. 전역일 필요가없는 것은 구성 요소와 그 자식에게 비공개로 남을 수 있습니다.
azium

답변:


139

의 명확한 사용 setState은 로컬 표시 상태가 있지만 전역 응용 프로그램과 관련이없는 UI 구성 요소에 대한 것입니다. 예를 들어 특정 드롭 다운 메뉴가 활성 상태로 표시되는지 여부를 나타내는 부울은 전역 상태 일 필요가 없으므로 메뉴 구성 요소의 상태에 의해 더 편리하게 제어됩니다.

다른 예에는 계층 구조의 아코디언 표시에서 줄의 축소 / 확장 상태가 포함될 수 있습니다. 또는 탭 탐색에서 현재 선택된 탭일 수 있습니다. 그러나이 두 예제 모두 UI 상태를 전역 적으로 처리하도록 선택할 수 있습니다. 예를 들어 브라우저 저장소에서 확장 / 축소 상태를 유지하여 페이지 새로 고침으로 유지되도록하려면이 작업이 필요합니다.

실제로 이러한 UI 요소를 로컬 상태로 구현하고 필요에 따라 전역 상태로 리팩터링하는 것이 일반적으로 가장 쉽습니다.


23
이에 대한 후속 조치를 위해 관련 Redux FAQ 항목은의 사용 setState이 완전히 괜찮다고 강조 합니다 . redux.js.org/docs/faq/…
markerikson

2
당신은 핸드 오프 또는 사용 서버 측 렌더링 위하여려고하는 경우에, 나는 당신이 항상 돌아 오는 사용해야한다고 생각합니다
neaumusic

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.