Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import React, { Component } from 'react';
- import { View, TextInput, ListView, Button } from 'react-native';
- export default class Github extends Component {
- constructor(props) {
- super(props);
- const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
- this.state = {
- text: '',
- error: false,
- dataSource: ds.cloneWithRows()
- }
- this.handleChange = this.handleChange.bind(this);
- }
- fetchRepos(e) {
- this.state.dataSource = getUserRepos(this.state.text).then();
- }
- render() {
- return() {
- <View>
- <TextInput
- onChangeText={(text) => this.setState({text})}
- placeholder={'Username'}
- value={this.state.text}
- />
- <Button
- onPress={fetchRepos}
- >
- Fetch
- </Button>
- <ListView
- dataSource={this.state.dataSource}
- renderRow={(rowData) => <Text>{rowData}</Text>}
- />
- </View>
- }
- }
- }
- export const getUserRepos = (name) => {
- let username = name.toLowerCase().trim();
- const URL = `https://api.github.com/users/${username}/repos?sort=updated`;
- return fetch(URL).then((res) => res.json());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement