--------------------------------------------------------------------------
import React, { useState, useEffect } from 'react';
import axios from 'axios'
const DataPull = () => {
const [id, setId] = useState(1)
const [post, setPost] = useState({})
const [buttonid, setButtonid] = useState(1)
const handleClick = () => {
console.log("button id set")
setButtonid(id)
}
useEffect(() => {
console.log("normal id " + id)
console.log("button id " + buttonid)
axios.get(`https://jsonplaceholder.typicode.com/posts/${buttonid}`).then(res => {
setPost(res.data)
}).catch(err => {
console.log(err)
setPost({ title: "no data" })
})
}, [buttonid])
return (
<div>
<input type="text" value={id} onChange={e => { setId(e.target.value) }} />
<button onClick={handleClick}>Fetch</button>
<br />
{post.title}
</div>
);
}
export default DataPull;
//useEffect runs after every render of component
Comments
Post a Comment