Skip to content

Instantly share code, notes, and snippets.

@jason-shen
Forked from EQuimper/actionslist.js
Created March 16, 2018 13:55
Show Gist options
  • Save jason-shen/e3024d75c3ff25b2787495cb9f922d87 to your computer and use it in GitHub Desktop.
Save jason-shen/e3024d75c3ff25b2787495cb9f922d87 to your computer and use it in GitHub Desktop.
import { NavigationActions } from 'react-navigation';
import { normalize } from 'normalizr';
import { Feed, Photo } from '../utils/api';
import { arrayOfPhotos } from './normalizr_schema';
export const FETCH_FEED_IMAGES = 'FETCH_FEED_IMAGES';
export const FETCH_FEED_IMAGES_SUCCESS = 'FETCH_FEED_IMAGES_SUCCESS';
export const FETCH_FEED_IMAGES_ERROR = 'FETCH_FEED_IMAGES_ERROR';
export function fetchFeedImages() {
return async (dispatch: Function, getState: Function) => {
dispatch({ type: FETCH_FEED_IMAGES });
const { token } = getState().user;
try {
const { data } = await Feed.fetchFeed(token, 0);
return dispatch({
type: FETCH_FEED_IMAGES_SUCCESS,
data: normalize(data.photos, arrayOfPhotos),
hasMore: data.hasMore,
});
} catch (e) {
return dispatch({ type: FETCH_FEED_IMAGES_ERROR, e });
}
};
}
/**
* LOAD MORE
*/
export const FEED_LOAD_MORE = 'FEED_LOAD_MORE';
export const FEED_LOAD_MORE_SUCCESS = 'FEED_LOAD_MORE_SUCCESS';
export const FEED_LOAD_MORE_ERROR = 'FEED_LOAD_MORE_ERROR';
export function loadMore(offset: number) {
return async (dispatch: Function, getState: Function) => {
dispatch({ type: FEED_LOAD_MORE });
const { token } = getState().user;
try {
const { data } = await Feed.fetchFeed(token, offset || 0);
console.log('data', data);
console.log('NORMALISZE', normalize(data.photos, arrayOfPhotos));
return dispatch({
type: FEED_LOAD_MORE_SUCCESS,
data: normalize(data.photos, arrayOfPhotos),
hasMore: data.hasMore,
});
} catch (e) {
return dispatch({ type: FEED_LOAD_MORE_ERROR, e });
}
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment