components/PostCard.js - usePostActions

    const {isSelecting, onPressMore, onClose, actions} = usePostActions({
      id,
      description,
    });

    그다음에는 이 값들을 받아와서 포스트를 삭제하겠습니다.

    hooks/usePostActions.js

    (...)
    import {removePost} from '../lib/posts';
    import {useNavigation, useRoute} from '@react-navigation/native';
    
    export default function usePostActions({id, description}) {
    (...)
    const navigation = useNavigation();
    const route = useRoute();
    
      const edit = () => {
        console.log('TODO: edit');
      };
      const remove = async () => {
        await removePost(id);
    
        // 현재 단일 포스트 조회 화면이라면 뒤로가기
        if (route.name === 'Post') {
          navigation.pop();
        }
    
        // TODO: 홈 및 프로필 화면의 목록 업데이트
      };
    
      (...)

    이렇게 함수를 수정해주면 액션 시트로 게시물 삭제를 눌렀을 때 포스트가 삭제될 것입니다. 다만 삭제된 것이 화면에 바로 반영되지 않고 앱을 리로딩해야 반영될 텐데요. 삭제 후 바로 반영하는 작업은 나중에 구현하겠습니다. 참고로 지금은 삭제 후 스크롤해 새로고침할 때 오류가 발생하는데 이 부분은 나중에 수정되니 무시해도 됩니다.

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