더북(TheBook)

그다음에는 Profile 컴포넌트도 다음과 같이 수정해주세요.

components/Profile.js

(...)
import {useUserContext} from '../contexts/UserContext';
import events from '../lib/events';

function Profile({userId}) {
  const [user, setUser] = useState(null);
  const {posts, noMorePost, refreshing, onLoadMore, onRefresh} = usePosts(
    userId,
  );
  const {user: me} = useUserContext();
  const isMyProfile = me.id === userId;

  useEffect(() => {
    getUser(userId).then(setUser);
  }, [userId]);

  useEffect(() => {
    // 자신의 프로필을 보고 있을 때만 새 포스트 작성 후 새로고침합니다.
    if (!isMyProfile) {
      return;
    }
    events.addListener('refresh', onRefresh);
    return () => {
      events.removeListener('refresh', onRefresh);
    };
  }, [isMyProfile, onRefresh]);

(...)

수정을 완료했다면 새 포스트를 작성한 뒤 피드 목록 또는 프로필의 새로고침이 잘 이루어지는지 확인해보세요.

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