buzz
buzz

Reputation: 312

API response not updating after x seconds reactJS

I'm trying to automatically update a table - In my testing I log the output every 10 seconds however the response stays the same from the initial component render

componentDidMount() {       
    this.interval = setInterval(this.getData, 10000);
    this.getData()        
}

getData = () => {
    axios.get(`myApiUrl`)
        .then(response => {
            this.setState({ data: response.data.entries })
            console.log(response.data.entries)
        })
        .catch(error => {
            console.log(error)
        })
}

componentWillUnmount() {
    clearInterval(this.interval)
}

If I manually try to grab the data from postman every 10 seconds, the updated changes works fine.

Upvotes: 1

Views: 1265

Answers (1)

buzz
buzz

Reputation: 312

@Robin Zigmond was correct

Updated the call to remove the cache

getData = () => {
        axios.get(`myApiUrl`, {
            headers: {
                'Cache-Control': 'no-cache',                
            }
        })
            .then(response => {
                this.setState({ data: response.data.entries })
                console.log(response.data.entries)
            })
            .catch(error => {
                console.log(error)
            })
    }

Upvotes: 1

Related Questions