2017-10-07 13 views
0

웹 서비스에서 데이터를 가져올 때 중첩 진행 대화 상자를 여는 대화 상자가 재료 UI에 있습니다. 중첩 대화 상자는 내가 좋아하는 패턴이 아니지만 클라이언트는 않습니다.둘 다 닫으려고 할 때 부모 앞에서 중첩 된 재질 UI 대화 상자를 닫으려면 어떻게해야합니까?

가져 오기가 성공하면 진행 대화 상자 부모 대화 상자를 닫으려고합니다. 가져 오기가 실패하면 진행 대화 상자를 닫지 만 부모는 열어 둡니다.

Redux를 사용 중이므로 API 요청이 성공적으로 완료되면 플래그를 모두 닫으십시오. 이 플래그는 궁극적으로 소품을 통해 대화 상자로 전달됩니다.

그러나 부모 대화 상자는 중첩되기 전에 렌더링되므로 먼저 사라 지므로 먼저 진행 대화 상자가 표시됩니다. 그건 좀 못생긴 데요.

어떻게하면 부모 앞에서 자식을 닫을 수 있습니까? 부모와 동시에 자식을 닫을 수 있습니다. 둘 중 하나가 작동합니다 --- 부모가 닫혀있을 때 아이를 열지 않기를 바랍니다.

답변

1

진행률 대화 상자가 닫히기 전에 부모 대화 상자가 닫히면 같은 렌더링주기에서 마운트 해제되지 않습니다. a) 비동기로 실행되는 두 개의 다른 동작에 의해 플래그가 설정되거나 b) 재질 UI 대화 상자가 닫히는 것을 의미합니다. 다른주기. Material UI에는 익숙하지 않지만 두 번째 경우에는 구성 요소의 onClose 후크와 같은 것이 있습니다.이 대화 상자는 기본 대화 상자의 플래그를 설정 해제하는 액션을 전달하는 데 사용할 수 있습니다.