You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tp_ReactNative/JokesApp/redux/actions/categoriesAction.ts

33 lines
893 B

import {Categorie} from "../../model/Categorie";
import {CategorieFactory} from "../../model/CategorieFactory";
export enum CategoriesActionType {
FETCH_CATEGORIES = 'FETCH_CATEGORIES',
}
export interface CategoriesAction {
type: CategoriesActionType;
payload: Categorie[];
}
export type Action = CategoriesAction;
export const setCategories = (categories: Categorie[]): CategoriesAction => {
return {
type: CategoriesActionType.FETCH_CATEGORIES,
payload: categories
}
}
export const getCategorie = async() : Promise<Categorie[]> => {
try {
const categories = await fetch('https://iut-weather-api.azurewebsites.net/jokes/categories/top');
const categorieJson = await categories.text();
return CategorieFactory.createCategories(categorieJson);
}
catch (error) {
console.log('Error---------', error);
}
}