import React, {useState, useEffect} from 'react'
export function UseStateExample() { // named export, need to use the same name everywhere nad {} when importing/exporting.
const [resourceType, setResourceType] = useState(null)
useEffect(() => {
fetch(`https://jsonplaceholder.typicode.com/${resourceType}`)
.then(response => response.json())
.then(json => console.log(json))
}, [resourceType])
// useEffect(() => {s
// console.log('On Mount, since it is an empty array')
// }, [])
return (
<>
<div>
<button onClick={() => setResourceType('posts')}>Posts</button>
<button onClick={() => setResourceType('users')}>Users</button>
<button onClick={() => setResourceType('comments')}>Comments</button>
</div>
<h1>{resourceType}</h1>
</>
)
}
Apparently, the useEffect hook should run only once. But when I check the console after reloading the page, I see that the fetch request runs twice.