PaulMuadDibUsul / react-group-study

0 stars 5 forks source link

16~17 스터디 퀴즈 [리덕스 라이브러리 이해하기~리덕스를 사용하여 리액트 애플리케이션 상태 관리하기] #53

Open seokhj opened 4 months ago

seokhj commented 4 months ago

액션 객체 안에 무조건 가지고 있어야하는 필드는 무엇일까요? 또한 그 필드 안에는 어떤 타입만 기재할 수 있을까요?

EYEG commented 4 months ago

전역 상태 관리를 위해 Context API만을 사용하는 것과 Redux를 사용하는 것 사이의 주요 차이점은 무엇이며,

어떤 상황에서 Redux가 더 유리한 선택이 될 수 있는지 알아보기.

정답 | 기능 | Context API | Redux | |---------------------|----------------------------------------------------|----------------------------------------------------------------------| | **목적** | React 컴포넌트 트리 내에서 데이터를 전역적으로 전달하는 데 사용 | 애플리케이션 상태를 중앙에서 관리하고 예측 가능한 상태 변화를 위해 사용 | | **사용의 용이성** | React에 내장되어 있어 추가 라이브러리 필요 없음. 사용 방법이 간단함 | 설정과 사용이 복잡할 수 있으나, Redux Toolkit을 사용하여 간소화 가능 | | **적합한 프로젝트 규모** | 작은 규모의 프로젝트 또는 간단한 상태 관리에 적합 | 대규모 프로젝트 또는 복잡한 상태 관리에 적합 | | **성능** | 대규모 애플리케이션에서 불필요한 리렌더링 발생할 수 있음 | 상태 변경에 대해 효율적으로 관리하여 대규모 애플리케이션에서도 성능 유지 | | **개발 도구 통합** | 제한적 | Redux DevTools 등 강력한 개발 도구와의 통합 가능 | | **학습 곡선** | 낮음 | 높음 (Redux Toolkit 사용 시 낮아질 수 있음) | | **비동기 작업 관리** | 별도의 라이브러리(예: Axios)와 조합하여 사용 가능 | Redux Thunk, Redux Saga와 같은 미들웨어를 통한 강력한 비동기 작업 관리 | | **상태 업데이트 로직** | 비교적 단순 | 복잡한 상태 업데이트 로직 및 사이드 이펙트 관리에 유리 | Redux가 더 나은 선택인 상황은? 1. 복잡한 상태 관리 - 여러 레벨의 컴포넌트를 통해 복잡하게 상태가 공유되어야 할 때 Redux는 중앙 집중식 상태 관리를 제공하여 복잡성을 줄여줌. 2. 상태 업데이트 로직 - 상태 업데이트가 복잡하거나 비동기 작업이 많은 애플리케이션에서 Redux는 미들웨어를 통한 효율적인 데이터 처리와 사이드 이펙트 관리를 가능하게 함. 3. 성능 최적화 - 대규모 애플리케이션에서 성능 최적화가 중요할 때, Redux는 불필요한 리렌더링 없이 상태 변화를 관리.
cheesepizza453 commented 4 months ago

스토어를 만들 때는 'A' 함수를 사용합니다. 이 함수를 사용하려면 코드 상단에 import 구문을 넣어 리덕스에서 해당 함수를 불러와야 하고, 함수의 파라미터에는 'B' 함수를 넣어주어야 합니다.

andrewylies commented 4 months ago

Redux는 ____적으로 동작합니다.

  1. 비동기
  2. 동기