After following the getting started tutorial on the meteor website i stopped around the item "2.4 Create App component", first install:
meteor add http
The app purpose is to visualize in differently the lottery api data of the state of New York.
import React, { Component } from 'react';
import { HTTP } from 'meteor/http';
var apiUrl = 'https://data.ny.gov/api/views/dg63-4siq/rows.json';
export default class App extends Component {
numbers() {
HTTP.get(apiUrl, {}, function(err, res){
if(err){
console.log('ERROR @ CALL');
} else {
console.log(res);
return res.data.data.slice(-50).map((result, index) =>
<li key={ result[0] }>{`${result[8]} - ${result[9]}`}</li>
);
}
});
}
render() {
return (
<div className="container">
<header>
<h1>Numbers</h1>
</header>
<ul>
{ this.numbers() }
</ul>
</div>
);
}
}
the object from the http call shows up on the console but not on the DOM
I don't think its a good idea to call the functions that makes an API call in the render function as it will be called everytime the component renders, a better place will be to have it in the componentDidMount function and save the result in state. If you want the call to repeat, do it in setInterval function like
Final code.