Rashomon
Rashomon

Reputation: 6762

Parsing JSON in React Native fetch method doesnt work

I'm trying to call an API with fetch from React Native App but it doesn't log the response data (console.warn('data', data)) for some reason. It prints the 'call to getArtists' log but then nothing happens.

const URL = 'https://jsonplaceholder.typicode.com/posts'

function getArtists(){
  console.log('call to getArtists')
  return fetch(URL)
    .then(response => response.json())
    .then(data => {
      console.warn('data', data)
    })
}

Code is available here: https://snack.expo.io/rkzea2Zlm at components/api-client.js

What am I doing wrong?

Upvotes: 0

Views: 651

Answers (1)

First in your "api_client.js", put a return inside like the code bellow.

function getArtists(){
  console.log('call to getArtists')
  return fetch(URL)
    .then(response => response.json())
    .then(data => {
      return data
    })
}

In your App.js just do that inside componentWillMount.

componentDidMount(){
    getArtists()
      .then(data => {
        alert(JSON.stringify(data))
      });
  }

Upvotes: 2

Related Questions