더북(TheBook)

removePost 또한 FeedScreenProfileuseEffect에서 사용하므로 useCallback으로 감싸줬습니다.

이제 포스트를 삭제할 때 포스트의 고유 ID와 함께 removePost 이벤트를 발생해보세요.

hooks/usePostActions.js - remove

import events from '../lib/events';

(...)

const remove = async () => {
  await removePost(id);

  // 현재 단일 포스트 조회 화면이라면 뒤로가기
  if (route.name === 'Post') {
    navigation.pop();
  }

  events.emit('removePost', id);
};

이벤트 이름을 정할 때 꼭 따라야 할 규칙은 없습니다. camelCase, snake_case, kebab-case 모두 괜찮습니다.

removePost 이벤트를 발생시킬 때 id 값은 두 번째 파라미터로 넣어줬습니다. 이렇게 하면 추후 removePost 이벤트에 등록할 콜백 함수의 파라미터로 id 값이 전달됩니다. 따라서 usePosts에서 만든 removePost 함수를 그대로 콜백 함수로 등록하면 됩니다.

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