Skip to content

Instantly share code, notes, and snippets.

@pe3
Last active September 15, 2017 12:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pe3/8b3ff523717a461db73d2ab131f93578 to your computer and use it in GitHub Desktop.
Save pe3/8b3ff523717a461db73d2ab131f93578 to your computer and use it in GitHub Desktop.
Simple fetch based API client implementations
import React from 'react'
import ReactDOM from 'react-dom'
import fetch from 'isomorphic-fetch'
const reposUrl = username => `https://api.github.com/users/${username}/repos`
const reposForUser = (username) => {
return fetch(reposUrl(username)).then(response => response.json())
}
class RepositoryList extends React.Component {
constructor(props) {
super(props)
this.state = { repos: [] }
}
componentWillMount() {
reposForUser(this.props.id)
.then((repos) => {
this.setState({repos: repos})
})
.catch((error) => {
console.log(error)
})
}
render() {
return <pre>{JSON.stringify(this.state.repos, null, 2)}</pre>
}
}
const App = () => (
<div>
<RepositoryList id="pe3"/>
</div>
)
ReactDOM.render(<App />, document.querySelector('#app'))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment