"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > React에서 동일한 구성 요소의 여러 인스턴스에서 상태 관리

React에서 동일한 구성 요소의 여러 인스턴스에서 상태 관리

2024-11-04에 게시됨
검색:346

Managing State in Multiple Instances of the Same Component in React

React로 작업하고 동일한 구성 요소의 여러 인스턴스가 있는 경우 상태 관리가 까다로울 수 있습니다. 구성 요소가 어떻게 상호 작용해야 하는지에 따라 상태를 다르게 처리해야 합니다. 제가 찾은 방법은 다음과 같습니다.

독립 인스턴스: 구성 요소 내부에 상태 유지

구성 요소가 서로 통신할 필요가 없다면 구성 요소 내부에 상태를 유지하는 것이 가장 좋습니다. 이런 방식으로 각 인스턴스에는 고유한 상태가 있으며, 한 인스턴스의 변경 사항이 다른 인스턴스에 영향을 주지 않습니다.

function Counter() {
  const [count, setCount] = useState(0);

  return (
    

Count: {count}

); } // Usage // Instance 1 // Instance 2

여기서 각 Counter 구성 요소는 자체 개수를 추적합니다. 따라서 한 카운터에서 버튼을 클릭해도 다른 카운터의 개수는 변경되지 않습니다.

종속 인스턴스: 상위 구성 요소의 상태 관리

그러나 구성 요소가 일부 상태를 공유하거나 조정된 방식으로 작동해야 하는 경우 상태를 상위 구성 요소로 이동하는 것이 좋습니다. 부모는 공유 상태를 관리하고 이를 props로 전달할 수 있습니다. 이렇게 하면 모든 인스턴스가 동기화 상태를 유지하고 원활하게 함께 작동할 수 있습니다.

function Parent() {
  const [sharedCount, setSharedCount] = useState(0);

  return (
    

Total Count: {sharedCount}

); } function Counter({ count, setCount }) { return (

Count: {count}

); }

이 접근 방식은 상태가 상위 구성 요소에 있을 때 해당 상태를 업데이트하면 모든 인스턴스가 다시 렌더링되어 모두 최신 UI가 표시되도록 하기 때문에 효과적입니다. 상태가 각 인스턴스에 별도로 유지되는 경우 상태 변경이 있는 인스턴스만 다시 렌더링되어 인스턴스 전체에서 UI가 일관되지 않게 됩니다.

내 프로젝트의 예

아코디언 구성요소를 만들면서 이 사실을 알아냈습니다. 다음은 내 작업의 두 가지 예입니다.

  • 독립 아코디언 인스턴스: 예. 이 설정에서는 각 아코디언 인스턴스가 독립적으로 작동합니다.

  • 종속 아코디언 인스턴스: 예. 이 버전에서는 모든 아코디언 인스턴스가 서로 의존하고 동기화 상태를 유지합니다.

빠른 요약

  • 구성요소가 별도로 작동하는 경우 각 구성요소 내부에 상태를 유지합니다.

  • 상태를 공유하거나 조정된 방식으로 함께 작업해야 하는 경우 상위에서 상태를 관리하세요.

이 접근 방식은 아코디언 예제를 만들 때 큰 변화를 가져왔습니다. 여러분에게도 도움이 되기를 바랍니다!

릴리스 선언문 이 기사는 https://dev.to/surjoyday_kt/managing-state-in-multiple-instances-of-the-same-comComponent-in-react-5dfk?1에서 복제됩니다. 침해가 있는 경우에는 Study_golang에 문의하세요. @163.com 삭제
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3