다음으로 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 () { const route (); 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]); ( )
이제 단일 포스트 화면에서 포스트를 수정해보세요. 단일 포스트 화면에 변화가 잘 반영되나요?