Closed huedaya closed 1 year ago
Mungkin ini ga best practice, tapi solusiku ngene
import "./App.css";
import { useState } from "react";
const App = () => {
const endpoint = process.env.REACT_APP_ENDPOINT;
const [listApi, setListApi] = useState([]);
async function hitApi() {
const api = await fetch(endpoint);
const data = await api.json();
return data.data
}
const showApi = () => {
hitApi().then((res) => {
setListApi(res);
console.log(res)
})
};
return (
<div className="App">
<h1>TES API</h1>
<p></p>
<button onClick={() => showApi()}>GET API NOW!!</button>
</div>
);
};
export default App;
jadi state listApi
di update setelah fetch bener-bener sudah selesai.
Nek ini iseng coba nampilke data
import "./App.css";
import { useState } from "react";
const App = () => {
const endpoint = process.env.REACT_APP_ENDPOINT;
const [listApi, setListApi] = useState([]);
async function hitApi() {
const api = await fetch(endpoint);
const data = await api.json();
return data.data
}
const showApi = () => {
hitApi().then((res) => {
setListApi(res);
console.log(res)
})
};
return (
<div className="App">
<h1>TES API</h1>
<p></p>
<button onClick={() => showApi()}>GET API NOW!!</button>
<div>
{
listApi != undefined ? (
listApi.map((item, index) => {
return (
<div key={index}>
<div>{item.email}</div>
</div>
)
})
) : null
}
</div>
</div>
);
};
export default App;
ini cuma di return tok gpp ya berarti sebenernya ? ga perlu dimasukin ke variabel setListApi
async function hitApi() { const api = await fetch(endpoint); const data = await api.json(); return data.data }
dimasukannya kan tak pindah di line ini
hitApi().then((res) => {
setListApi(res);
console.log(res)
})
jadi state
listApi
di update setelah fetch bener-bener sudah selesai.
ooohh ngerti ngerti aku maksudmu yg ini kim
dimasukannya kan tak pindah di line ini
hitApi().then((res) => { setListApi(res); console.log(res) })
oohh yayaya makasih kiimm, anda sangat membantu hehe
Saatnya saya kembali belajar hehe 👌👌👌👌
kenapa hasilnya kosong, karena ini async, jadi harus nunggu
hitApi()
selesai. ditambah tadi belum dipanggil fungsinya.https://github.com/taqiudind/test/blob/7c1728b8189060fedfe858ee59d24ca93a8bfdc2/src/App.js#L15-L18
seharusnya