> 웹 프론트엔드 > 프런트엔드 Q&A > Connect ()를 사용하여 React 구성 요소를 Redux 상점에 어떻게 연결합니까?

Connect ()를 사용하여 React 구성 요소를 Redux 상점에 어떻게 연결합니까?

Emily Anne Brown
풀어 주다: 2025-03-21 18:23:34
원래의
551명이 탐색했습니다.

Connect ()를 사용하여 React 구성 요소를 Redux 상점에 어떻게 연결합니까?

react-redux 라이브러리의 connect() 함수를 사용하여 React 구성 요소를 Redux 저장소에 연결하려면 다음을 수행합니다.

  1. connect 가져 오기 : 먼저 react-redux 에서 connect 기능을 가져와야합니다.

     <code class="javascript">import { connect } from 'react-redux';</code>
    로그인 후 복사
  2. mapStateToPropsmapDispatchToProps 정의 : 이러한 기능은 선택 사항이지만 일반적으로 사용됩니다. mapStateToProps 상점의 상태를 가져 와서 구성 요소에 대한 소품 객체를 반환합니다. mapDispatchToProps dispatch 함수를 가져 와서 dispatch 에 바인딩 된 액션 제작자의 객체를 반환합니다.

     <code class="javascript">const mapStateToProps = (state) => { return { // Example props todos: state.todos, }; }; const mapDispatchToProps = (dispatch) => { return { // Example action addTodo: (text) => dispatch(addTodo(text)), }; };</code>
    로그인 후 복사
  3. 구성 요소를 랩핑하기 위해 connect 사용하십시오 . connect 사용하여 구성 요소를 래핑하고 mapStateToPropsmapDispatchToProps 인수로 전달합니다. 이것은 Redux 스토어에 연결된 새로운 구성 요소를 만듭니다.

     <code class="javascript">const ConnectedComponent = connect( mapStateToProps, mapDispatchToProps )(YourComponent);</code>
    로그인 후 복사
  4. 연결된 구성 요소 내보내기 : 마지막으로 응용 프로그램의 다른 부분에서 사용할 새로운 연결 구성 요소를 내보낼 수 있습니다.

     <code class="javascript">export default ConnectedComponent;</code>
    로그인 후 복사

이러한 단계를 수행하면 REACT 구성 요소가 Redux Store에서 데이터를 수신하고 작업을 스토어로 발송하여 Redux 애플리케이션에서 전형적인 단방향 데이터 흐름을 가능하게합니다.

Redux 스토어와 React 구성 요소를 연결하기 위해 Connect ()를 사용하면 어떤 이점이 있습니까?

connect() 사용하여 Redux 스토어와 React 구성 요소를 연결하면 몇 가지 주요 이점이 있습니다.

  1. 선언적 데이터 가져 오기 : connect() 사용하면 매장에서 구성 요소가 필요한 데이터를 선언적으로 지정하여 응용 프로그램에서 상태를 관리하는 프로세스를 단순화 할 수 있습니다.
  2. 우려 사항 분리 : UI 구성 요소와 Redux Store에 포함 된 비즈니스 논리 간의 깨끗한 분리를 유지하여 더 나은 코드 구성 및 재사용 성을 촉진하는 데 도움이됩니다.
  3. 성능 최적화 : connect() 는 Hood 아래에 shouldComponentUpdate 것입니다. 이는 상태가 변경 될 때 불필요한 재 렌즈를 방지하지만 관련 소품은 그렇지 않은 경우 응용 프로그램의 성능을 최적화하는 데 도움이 될 수 있습니다.
  4. 단순화 된 상태 관리 : Redux Store의 상태를 중앙 집중화하여 connect() 상태가 구성 요소를 통과하는 방법을 단순화하여 프로스 드릴링을 줄이고 복잡한 상태 상호 작용을보다 쉽게 ​​관리 할 수 ​​있습니다.
  5. 쉬운 테스트 : connect() 에 연결된 구성 요소는 Redux 저장소를 조롱하고 사전 정의 된 상태 및 동작으로 분리하여 구성 요소를 테스트 할 수 있기 때문에 테스트하기가 더 쉽습니다.

Connect () 함수 내에서 MapStateProps 및 MapDispatchtoprops가 어떻게 작동하는지 설명 할 수 있습니까?

mapStateToPropsmapDispatchToProps 특정 목적을 제공하는 connect() 함수 내에서 중요한 기능입니다.

  • MapStateProps :이 기능은 전체 Redux Store 상태를 첫 번째 인수로 취하고 개체를 반환합니다. 이 개체의 키는 구성 요소로 전달되는 소품이됩니다. 기본적으로 Redux 상태의 일부를 구성 요소의 소품에 매핑하여 구성 요소가 상태 변경 사항을 구독 할 수 있습니다. 예를 들어:

     <code class="javascript">const mapStateToProps = (state) => { return { todos: state.todos, }; };</code>
    로그인 후 복사

    이 예에서는 Redux Store의 상태가 변경 될 때마다 mapStateToProps 실행되며 todos 상태가 변경되면이 새로운 todos 데이터를 연결된 구성 요소에 소품으로 전달합니다.

  • MapDispatchToprops :이 기능은 Redux Store에서 dispatch 기능을 인수로 가져 와서 액션 제작자가있는 객체를 값으로 반환합니다. 이 액션 제작자는 호출되면 액션을 Redux 매장에 파견합니다. 물체의 키는 구성 요소의 소품이됩니다. 예를 들어:

     <code class="javascript">const mapDispatchToProps = (dispatch) => { return { addTodo: (text) => dispatch(addTodo(text)), }; };</code>
    로그인 후 복사

    여기에서 addTodo 연결된 구성 요소의 소품이됩니다. addTodo 구성 요소는 구성 요소 내에서 this.props.addTodo(text) 로 호출 될 수 있습니다.

Redux와 함께 Connect ()를 사용할 때 React 응용 프로그램의 성능이 어떻게 변경됩니까?

Redux와 함께 connect() 사용하면 React 응용 프로그램의 성능에 긍정적 및 부정적인 방식으로 영향을 줄 수 있습니다.

  1. 긍정적 인 영향 :

    • 최적화 된 리 렌더 : connect() 함수는 자동으로 shouldComponentUpdate . 이는 연결된 구성 요소가 상태의 관련 부분 ( mapStateToProps 가 결정한)이 실제로 변경되었을 때만 재 렌더링하여 불필요한 재 렌즈를 줄임으로써 성능을 향상시킬 수 있음을 의미합니다.
    • 소품 중심 : State Management를 중앙 집중화함으로써 Redux는 connect() 응용 프로그램을 통해 데이터 흐름을 단순화하여 구성 요소 트리를 통해 소품을 깊이 전달해야 할 필요성을 줄이고 구성 요소 렌더링 효율을 향상시킬 수 있습니다.
  2. 잠재적 인 부정적인 영향 :

    • 상점 구독의 오버 헤드 : Redux Store의 상태가 변경 될 때마다 연결된 모든 구성 요소가 소품이 변경되었는지 확인해야합니다. 연결된 구성 요소가 많은 대규모 응용 프로그램에서는 특히 많은 구성 요소가 동일한 상태 슬라이스를 구독하는 경우 성능이 히트 할 수 있습니다.
    • 대규모 응용 분야의 복잡성 : 응용 프로그램이 성장함에 따라 상태 슬라이스의 복잡성을 관리하고 mapStateToProps 기능이 최적화되어 실수로 재 렌즈가 도전적이 될 수 있으므로 올바르게 처리하지 않으면 성능에 영향을 줄 수 있습니다.

이러한 영향을 완화하기 위해 개발자는 mapStateToPropsreselect 와 함께 Memoization과 같은 기술을 사용하거나 연결 구성 요소에 React.memo 사용하여 PROP 변경에 기초하여 Re-Renders를 추가로 제어 할 수 있습니다. 또한, 상태 구조의 신중한 설계 및 매장 사용은 더 큰 응용 분야에서 효과적으로 성능을 관리하는 데 도움이 될 수 있습니다.

위 내용은 Connect ()를 사용하여 React 구성 요소를 Redux 상점에 어떻게 연결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿