다음으로 PostScreen 컴포넌트에서도 이벤트를 등록해주세요.

    PostScreen에서는 post 정보가 내비게이션의 라우트 파라미터에 담겨있습니다. 여기서는 navigation.setParams를 사용해 라우트 파라미터를 바로 변경시키세요.

    screens/PostScreen.js

    import {useNavigation, useRoute} from '@react-navigation/native';
    import React from 'react';
    import {useEffect} from 'react';
    import {ScrollView, StyleSheet} from 'react-native';
    import PostCard from '../components/PostCard';
    import events from '../lib/events';
    
    function PostScreen() {
      const route = useRoute();
      const navigation = useNavigation();
      const {post} = route.params;
    
      useEffect(() => {
        const handler = ({description}) => {
          navigation.setParams({post: {...post, description}});
        };
        events.addListener('updatePost', handler);
        return () => {
          events.removeListener('updatePost', handler);
        };
      }, [post, navigation]);
    
      (...)

    이제 단일 포스트 화면에서 포스트를 수정해보세요. 단일 포스트 화면에 변화가 잘 반영되나요?

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.