Skip to main content

Fetching data via API in React

In this course for the data, we have used is the API endpoint from http://jsonplaceholder.typicode.com/users 

For this lesson we will show some simple ways to fetch data from using an API.

Fetch method

The fetch() is a method in JavaScript is used to request to the server and load the information in the webpages. The request can be of any APIs that return the data of the format JSON or XML.

Write following code in App.js and run.

To run the application open terminal then type command npm start

Output: Data we fetched would be print out in the console. You could check right-click on browser, choose "inspect" and then go to console.

console.JPG


Axios Package 

Axios is a promise-based HTTP client designed for Node.js and browsers. so, we can easily send asynchronous HTTP requests to REST APIs and perform create, read, update and delete operations (CRUD). It is an open-source collaboration project hosted on Github. It can be imported in plain Javascript or with any library accordingly. 

Promise-based: Programming paradigm that uses promise object to handle asynchronous operation.

To install Axios open terminal and write the following command.

npm i axios

Then write following code in App.js and run.

import { useEffect }React from "react";
import axios"./App.css";
fromclass "axios"App functionextends App(React.Component {
    // Constructor
    constructor(props) {
        super(props);
 
        this.state = {
            items: [],
            DataisLoaded: false,
        };
    }
 
    // ComponentDidMount is used to
    // execute the code
    componentDidMount() {
        useEffect(() => {
		axios.get(fetch("https://jsonplaceholder.typicode.com/todos"users")
            .then((response)res) => console.log(response.data)res.json())
            .then((json) => {
                this.setState({
                    items: json,
                    DataisLoaded: true,
                });
            }, []);
    }
    render() {
        const { DataisLoaded, items } = this.state;
        if (!DataisLoaded)
            return (
                <div>
                    <h1>Different waysPleses towait fetchsome Datatime.... </h1>
                </div>
            );
 
        return (
            <div className="App">
                <h1 className="geeks">GeeksforGeeks</h1>
                <h3>Fetch data from an api in react</h3>
                <div className="container">
                    {items.map((item) => (
                        <div className="item">
                            <ol key={item.id}>
                                <div>
                                    <strong>
                                        {"User_Name: "}
                                    </strong>
                                    {item.username},
                                </div>
                                <div>
                                    Full_Name: {item.name},
                                </div>
                                <div>
                                    User_Email: {item.email}
                                </div>
                            </ol>
                        </div>
                    ))}
                </div>
            </div>
        );
    }
}
 
export default App;

To run the application open terminal then type command npm start

Output: Data we fetched would be print out in the console.

console.JPGtest.JPG