2017-10-11 4 views
1

간단한 비디오 플레이어를 모델링하고 싶습니다. 그것은 3 개의 주요 기능이 있습니다 비디오 플레이어 용 Redux 상태 디자인

  • 스위치 이전 비디오 옆에있는 비디오

    • 스위치를
    • 일부 인덱스에서 비디오로 전환

    내가 나에게 가능한 옵션의 다음 세트를 가지고 :

    1. 3 동작. 3 바보 액션 크리에이터. 검증을위한 모든 논리는 감속기에 존재합니다.

    2. 1 동작. getState에 액세스 할 수있는 액션 크리에이터 3 명.

    3. 1 동작. 1 액션 크리에이터. 다음과 사전은 state에서 props으로 매핑 할 때 select 함수로 구성됩니다.

    선택할 수있는 옵션과 그 이유는 무엇입니까?

    나는 그것에 대해 내가 당신이 당신의 첫 번째 옵션을 고려하지만, 행동 작성자와 감속기에 모든 로직을 추가해야한다고 생각

  • 답변

    1

    (모든 3 IMO에서 작동) 작동하게보다 관용적 접근 방식에 대해 우려하고 더 많은입니다.

    이유 : 다음 세 가지 작업 (논리적으로 사용자 인터페이스가 명확하게 전달 됨)과 논리적으로 일치하는 세 가지 별개 작업 (다음/이전으로 전환) 등이 있습니다.

    조치 작성자는 축소판을 얇게 유지하고 상태를 업데이트 할 책임이 있습니다 (축소판을 쉽게 구성 할 수 있음).

    그런데 redux에서는 작업 작성자와 감속기 모두에서 비즈니스 논리를 추가 할 수 있습니다. 실제로 설정 및 구성에 따라 달라지며 옳고 그름이 없습니다.