2017-12-04 1 views
0

내가 두 개의 화면을 가정 해 봅시다. Button을 클릭하면 화면 B으로 이동합니다. Back Button을 누르면 화면으로 다시 이동합니다. 화면 A.화면이 나타날 때 어떤 lifecycle 이벤트가 호출됩니까?</p> <ul> <li>화면</li> <li>화면 B</li> </ul> <p>내가 처음 <kbd>화면</kbd>에 착륙하고있다 :

위의 시나리오에서 설명한대로 화면 A으로 이동할 때 작업 생성자를 호출하고 싶습니다.

화면이 나타날 때마다 어떤 라이프 사이클 이벤트가 호출되는지 알고 싶습니다.

componentWillAppear()과 같은 일정이 없습니까?

참고 :react-nativereact-navigation을 사용하고 있습니다.

+0

* * ** 렌더링 **. 하지만 당신은'componentDidMount'를 사용할 수 있습니다 – Rajesh

+0

@Rajesh 제가보기로 돌아 가면 componentDidMount가 항상 호출 될 것입니까? – Vishal

+0

구성 요소가 다시 렌더링되면 yes입니다. 표시/숨기기 위해 CSS를 사용하는 경우 확실하지 않습니다. – Rajesh

답변

1

한 화면에서 다른 화면으로 이동할 때 첫 번째 화면은 마운트 해제되지 않지만 여전히 스택에 표시되며 백그라운드에서 숨겨집니다.

필요한 항목은 componentDidFocus 일 수 있지만 아직 설계가 완료되지 않았습니다. 자세한 내용은 react-native open issue #51을 참조하십시오.

이 방법을 시도해 볼 수 있습니다 : react-navigation-addons. 이것으로 당신의 필요에 맞게 이벤트 focus & blur을 가질 수 있습니다.

+0

감사합니다. 나는 반응 탐색 항해를 살펴볼 것이다. 타임 아웃이 끝나면이 대답을 승인 된 것으로 표시합니다. – Vishal

+0

반갑습니다. 다행스럽게도 =) – Val

1

당신이 반응-기본 내비게이션을 사용하는 경우에는 외관 이벤트를 수신 할 수 있습니다 : https://wix.github.io/react-native-navigation/#/screen-api?id=listen-to-visibility-events-globally는 화면이 발표 될 때마다 호출됩니다 라이프 사이클 이벤트

+0

답변 주셔서 감사합니다. 그러나 반응 네이티브 - 네비게이션을 사용하지 않았습니다. 내 탐색 목적으로 반응 탐색을 사용합니다. – Vishal