2017-11-25 8 views
0

모달/대화 상자가 열려 있다고 가정 해보십시오. 이 모달에는 redux-saga에 의해 선택되는 updateUser 액션을 전달하는 저장 버튼이 있습니다. 그런 다음 redux-saga는 네트워크 호출을 수행합니다. 이 네트워크 호출이 성공하면 모달이 자동으로 닫힙니다. redux-saga로이 작업을 수행하는 최적의 방법은 무엇입니까?Redux-saga,이 가까운 모달 흐름을 처리하는 최적의 방법

redux thunk에서는 액션 (promise)을 보내고 네트워크 호출이 성공했을 때 모달 닫기를 처리하는 'then'을 체인에 연결할 수 있습니다. 그래서 저와 동료가 궁금해했습니다. 무엇을 redux-saga로 할 수있는 최적의 방법이 될까요? 거기에

+0

무엇이 처음에 나타나게할까요? 응용 프로그램/저장소 상태의 데이터입니까? – chautelly

+0

사용자는 버튼을 클릭하여 모달을 엽니 다. 이것은 상점 또는 지역의 상태에서 수행 될 수 있습니다. 우리는 최선의 방법이 무엇인지 궁금해합니다. 희생하지 않고, 'isModalOpen'을 로컬 상태로 유지할 것입니다. 이제는 우리가 돈을 버는 상점에 모달을 연결해야하는 것처럼 보입니다. –

+0

'isModelOpen'을 응용 프로그램 상태로 옮깁니다. 구성 요소 외부에있는 정보가 해당 정보에 액세스해야하는 경우 위로 이동하십시오. – chautelly

답변

1

필자의 의견 :

  • 가의 모달의 소유자 가정하자이 일부 글로벌 포함
  • 이의는 어느 경우 (성공 또는 실패)에 그 가정 해 봅시다 로컬 상태로 개방/폐쇄 상태를 유지 당신의 사가 D를 버튼 클릭에

    • 화재 조치 : 상태 (REDUX)는 이제 흐름을

  • 변경 OES는 작업
  • 조동사 소유자 구성 요소의 componentWillReceiveProps에서 모달의 소유자 구성 요소
  • 에 (너무 귀하의 소품에 국가의이 조각을 부착 connectmapStateToProps에서) 사가로 글로벌 상태에서 변경을 "구독"입니다 모달이 열린 경우 이러한 변경 사항을 관찰하고 이에 따라 로컬 열기/닫기 상태를 업데이트하십시오.