Hallo semuanya, pada tutorial kali ini kita akan belajar bagaimana cara menggunakan async/await dengan axios di react.
Langkah pertama kita perlu menginstall axios terlebih dahulu dengan menggunakan perintah berikut.
npm install --save axios
Kemudian kita buat request get dengan menggunakan axios dari react component kita seperti code dibawah ini.
import React from "react"; import axios from "axios"; export default class App extends React.Component { state = { users: [] }; componentDidMount() { this.getUsers(); } getUsers = () => { axios .get("https://reqres.in/api/users?page=1") .then(data => this.setState({ users: data.data.data })) .catch(err => { console.log(err); return null; }); }; render() { return ( <div> {this.state.users.length === 0 ? ( <div>Loading...</div> ) : ( this.state.users.map((e, i) => { return <div key={i}>{e.first_name}</div>; }) )} </div> ); } }
Kode di atas membuat permintaan untuk https://reqres.in untuk mengambil beberapa pengguna dari API mereka dan menampilkan nama depan pengguna di component kita.
Baca Juga
Sekarang, kita ingin membuat request yang sama menggunakan async/await. Untuk menggunakan fungsi await, kita harus membungkus fungsi itu sendiri sebagai fungsi async seperti code berikut ini:
getUsers = async () => { let res = await axios.get("https://reqres.in/api/users?page=1"); let { data } = res.data; this.setState({ users: data }); };
Fungsi async berbeda dari fungsi sinkronisasi karena fungsi async tidak memblokir pemrosesan kode di bawahnya. Jika Anda mencoba membuat permintaan POST, cukup berikan parameter sebagai variabel kedua ke dalam Axios:
axios.post('https://yourdomain.com', { name: 'Aditya' })
Selamat, sekarang kita sudah bisa menerapakan async serta await dengan axios di aplikasi react. Jika ada yang ditanyakan silahkan tulis di kolom komentar dibawah ini.