screens/MainScreen.js

    import React, {useEffect, useCallback} from 'react';
    import {createMaterialBottomTabNavigator} from '@react-navigation/material-bottom-tabs';
    import {Text, Button, View} from 'react-native';
    import Icon from 'react-native-vector-icons/MaterialIcons';
    import {
        useNavigation,
        useFocusEffect,
    } from '@react-navigation/native';
    
    
    const Tab = createMaterialBottomTabNavigator();
    
    function OpenDetailButton() {
      const navigation = useNavigation();
    
      return (
        <Button
          title="Detail 1 열기"
          onPress={() => navigation.push('Detail', {id: 1})}
        />
      );
    }
    
    function HomeScreen() {
      useFocusEffect(
        useCallback(() => {
          console.log('이 화면을 보고 있어요.');
          return () => {
            console.log('다른 화면으로 넘어갔어요.');
          };
        }, []),
      );
    
      return (
        <View>
          <Text>Home</Text>
          <OpenDetailButton />
        </View>
      );
    }
    
    (...)

    터미널에 다음과 같이 출력됐나요?

    LOG    이 화면을 보고 있어요.
    LOG    다른 화면으로 넘어갔어요.
    LOG 이 화면을 보고 있어요.
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.