추가로, 수정하면 좋은 버그가 하나 더 있습니다. 내 프로필 화면에서 포스트 화면을 띄운 다음에 사용자 정보를 누르면 프로필 화면이 다시 뜰 텐데 뒤로 가지 않고 홈 탭에서 새 화면을 띄웁니다. 이를 내 프로필 화면으로 다시 전환되도록 수정해봅시다.
PostCard에서 현재 내비게이션 상태를 조회해 조건에 따라 MyProfile로 이동하도록 수정해주세요. 내비게이션의 상태는 useNavigationState 함수로 조회할 수 있습니다.
import {useNavigationState} from '@react-navigation/native'; const state (state => state);
이 함수의 파라미터에는 셀렉터 함수를 넣는데, 셀렉터란 상태에서 어떤 값을 조회할지 정하는 함수입니다. 이 코드처럼 state => state로 하면 전체 상태를 조회하는 것입니다. 만약 state => state.routeNames로 하면 상태 객체 내부의 routeNames 값만 조회하는 것을 의미합니다. 여기서 routeNames는 현재 라우터(현재의 경우 HomeStack 또는 ProfileStack)에 등록된 화면들의 이름이 들어있는 배열입니다.
PostCard를 다음과 같이 수정해보세요.
components/PostCard.js
import {useNavigation, useNavigationState} from '@react-navigation/native'; ( ) function ({user, photoURL, description, createdAt, id}) { const routeNames = useNavigationState((state) => state.routeNames); console.log(routeNames); ( )