April 2018
Intermediate to advanced
298 pages
6h 34m
English
For this application, I'm using a simple API abstraction. In Redux apps, you should be able to have your asynchronous functionality—API or otherwise—encapsulated in its own module or package. Here's what the api.js module looks like, with some of the mock data redacted for brevity:
const LATENCY = 1000; const BOOKS = [ { title: 'React 16 Essentials', author: 'Artemij Fedosejev', imgURL: 'big long url...' }, ... ]; export const fetchBooks = () => new Promise(resolve => { setTimeout(() => { resolve(BOOKS); }, LATENCY); }); export const createBook = (title, author, imgURL) => new Promise(resolve => { setTimeout(() => { BOOKS.push({ title, author, imgURL }); resolve(); }, LATENCY); }); export const fetchBook = title => new ...