나는 "멍청한"행동에 찬성하는 주장을 제공 할 것이다.
작업에서 뷰 데이터를 수집하는 책임을 둠으로써 작업을 뷰의 데이터 요구 사항에 연결합니다.
반대로, 사용자 의 의도 를 선언적으로 설명하는 일반 작업 또는 애플리케이션의 일부 상태 전환은 해당 작업에 응답하는 모든 Store가 해당 작업에 응답하는 모든 스토어를 구독 한보기에 맞게 특별히 조정 된 상태로 변환 할 수 있도록합니다.
이것은 더 많지만 더 작고 더 전문화 된 상점에 적합합니다. 나는이 스타일을 주장한다.
- 이는 뷰가 스토어 데이터를 소비하는 방식에 더 많은 유연성을 제공합니다.
- 뷰를 소비하는 뷰에 특화된 "스마트"스토어는 잠재적으로 많은 뷰가 의존하는 "스마트"액션보다 복잡한 앱에 대해 더 작고 덜 결합됩니다.
스토어의 목적은 뷰에 데이터를 제공하는 것입니다. "액션"이라는 이름은 그 목적이 내 응용 프로그램의 변경 사항을 설명하는 것임을 암시합니다.
백엔드 팀이 방금 출시 한 멋진 새 집계 데이터를 보여주는 기존 대시 보드보기에 위젯을 추가해야한다고 가정합니다.
"스마트"작업을 사용하면 새 API를 사용하기 위해 "대시 보드 새로 고침"작업을 변경해야 할 수 있습니다. 그러나 추상적 인 의미에서 "대시 보드 새로 고침"은 변경되지 않았습니다. 뷰의 데이터 요구 사항이 변경되었습니다.
"dumb"Actions를 사용하면 사용할 새 위젯에 대한 새 Store를 추가하고 "refresh-dashboard"Action 유형을 수신 할 때 새 데이터에 대한 요청을 전송하고이를 노출하도록 설정할 수 있습니다. 준비가되면 새 위젯. 뷰 레이어가 더 많거나 다른 데이터를 필요로 할 때 내가 변경하는 것이 그 데이터의 소스라는 것이 이해가됩니다.