Skip to content
This repository has been archived by the owner on Jan 11, 2023. It is now read-only.

Commit

Permalink
Merge pull request #9 from oktaysenkan/loadmore
Browse files Browse the repository at this point in the history
Loading more posts when scrolling
  • Loading branch information
orcuntuna authored May 21, 2020
2 parents 5875e62 + 7608ba9 commit 398ad9c
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 10 deletions.
18 changes: 15 additions & 3 deletions src/pages/Recently.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,34 @@
/* eslint-disable react-hooks/exhaustive-deps */
// TODO : Fix Exhaustive Deps
import React, {useEffect, useState} from 'react';
import {FlatList, Alert} from 'react-native';
import {FlatList, Alert, ActivityIndicator} from 'react-native';
import NetInfo from '@react-native-community/netinfo';
import PostPreview from '../components/PostPreview';
import Header from '../components/Header';
import PostsLoading from '../components/PostsLoading';
import getRecentlyPosts from '../requests/getRecentlyPosts';
import getPosts from '../requests/getPosts';

function Recently() {
const [recentlyPosts, setRecentlyPosts] = useState([]);
const [refreshStatus, setRefreshStatus] = useState(false);
const [page, setPage] = useState(1);
function loadPosts() {
getRecentlyPosts().then(res => {
getPosts().then(res => {
setRecentlyPosts(res.data.data);
setRefreshStatus(false);
});
}
function loadMore() {
const newPage = page + 1;
getPosts(newPage).then(res => {
setRecentlyPosts(recentlyPosts.concat(res.data.data));
setPage(newPage);
});
}
function refresh() {
if (!refreshStatus) {
setRefreshStatus(true);
setPage(1);
loadPosts();
}
}
Expand Down Expand Up @@ -57,6 +66,9 @@ function Recently() {
keyExtractor={item => item.slug}
refreshing={refreshStatus}
onRefresh={() => refresh()}
onEndReachedThreshold={2}
onEndReached={() => loadMore()}
ListFooterComponent={<ActivityIndicator color="#1d9b54" />}
/>
) : (
<PostsLoading />
Expand Down
7 changes: 7 additions & 0 deletions src/requests/getPosts.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import instance from './instance';

const getPosts = (page = 1, count = 25) => {
return instance.get(`posts?get=${count}&page=${page}`);
};

export default getPosts;
7 changes: 0 additions & 7 deletions src/requests/getRecentlyPosts.js

This file was deleted.

0 comments on commit 398ad9c

Please sign in to comment.