# react-spotify-api
A component library that helps you interact with the Spotify API
# [Demo](https://react-spotify.netlify.com/browse/featured)
[![NPM](https://img.shields.io/npm/v/react-spotify-api.svg)](https://www.npmjs.com/package/react-spotify-api)
[![Build Status](https://travis-ci.com/idanlo/react-spotify-api.svg?branch=master)](https://travis-ci.com/idanlo/react-spotify-api)
[![Dependencies](https://david-dm.org/idanlo/react-spotify-api/status.svg)](https://david-dm.org/idanlo/react-spotify-api)
[![Dev Dependencies](https://david-dm.org/idanlo/react-spotify-api/dev-status.svg)](https://david-dm.org/idanlo/react-spotify-api?type=dev)
[![Peer Dependencies](https://david-dm.org/idanlo/react-spotify-api/peer-status.svg)](https://david-dm.org/idanlo/react-spotify-api?type=peer)
![Codecov](https://img.shields.io/codecov/c/github/idanlo/react-spotify-api.svg)
[![npm bundle size (minified)](https://img.shields.io/bundlephobia/min/react-spotify-api.svg)](https://www.npmjs.com/package/react-spotify-api)
[![GitHub](https://img.shields.io/github/license/idanlo/react-spotify-api.svg)](https://opensource.org/licenses/MIT)
[![PRs Welcome](https://img.shields.io/badge/prs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
# [Documentation](https://idanlo.github.io/react-spotify-api/)
# Features
- Components for most of Spotify's data types that pass data through render props
- Hooks for most of Spotify's data
# Roadmap
- [x] Pass Spotify data with render props
- [x] Use React.Context to pass the access token down the component tree
- [x] Hooks!
- [x] A demo page that uses this library - [available here!](https://react-spotify.netlify.com/browse/featured)
- [x] Load more data support (infinite scrolling) - current works for some of the data types
- [ ] TypeScript support!
- [ ] 100% code coverage
- [ ] Hooks for all data types from Spotify's API
- [ ] Hooks for using the [Spotify Playback SDK](https://developer.spotify.com/documentation/web-playback-sdk)
# Version 3.0.0 Breaking Change
Before version 3.0.0 the parameters to `props.children` were passed in this order - `data, loading, error`. It is now passed as an object, so you would now use the `Album` component like this -
```jsx static
{data.name}
{data.genres.map(genre => (