Using Request Statuses
getStatus
getStatusimport React, { Component } from 'react';
import { connect } from 'react-redux';
import { getStatus } from 'redux-resource';
export class BookDetails extends Component {
render() {
const { book, readStatus } = this.props;
return (
<div>
{readStatus.pending && 'Loading...'}
{readStatus.failed && 'There was an error.'}
{readStatus.succeeded && (
<div>
<span>
{book.title} ({book.id})
</span>
<span>
{book.releaseYear}, {book.author}
</span>
</div>
)}
</div>
);
}
}
function mapStateToProps(state, props) {
// A user can pass a `bookId` into this Component to view the book's data
const bookId = props.bookId;
const readStatus = getStatus(state, `books.meta[${bookId}].readStatus`, true);
const book = state.books.resources[book.id];
return {
book,
readStatus
};
}
export default connect(mapStateToProps)(BookDetails);Aggregating Statuses
treatIdleAsPending
treatIdleAsPendingThe Rule of Thumb
Last updated