더북(TheBook)

다음으로 Articles 컴포넌트에서 Props의 타입을 수정하고, refreshControl을 설정하여 화면을 당겨서 새로고침하는 기능을 구현하세요.

components/Articles.tsx

import React from 'react';
import {
  View,
  StyleSheet,
  FlatList,
  ActivityIndicator,
  RefreshControl,
} from 'react-native';
import {Article} from '../api/types';
import ArticleItem from './ArticleItem';
import WriteButton from './WriteButton';

export interface ArticlesProps {
  articles: Article[];
  showWriteButton?: boolean;
  isFetchingNextPage: boolean;
  fetchNextPage(): void;
  refresh(): void;
  isRefreshing: boolean;
}

function Articles({
  articles,
  showWriteButton,
  isFetchingNextPage,
  fetchNextPage,
  refresh,
  isRefreshing,
}: ArticlesProps) {
  return (
    <FlatList
      (...)
      refreshControl={
        <RefreshControl onRefresh={refresh} refreshing={isRefreshing} />
      }
    />
  );
}

(...)

이제 Postman을 사용하거나 다른 시뮬레이터에서 게시글을 작성한 다음에 화면을 아래로 당겨서 새로고침해보세요. 새로운 게시글이 잘 나타났나요?

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