Following some tutorial, I made a todo app and is now working on connecting it to the database.
But doing so, while making an axios.get
request its been called indefinitely.
My code
import React from "react"
import Header from "./Header"
import Footer from "./Footer"
import Note from "./Note"
import CreateArea from "./CreateArea"
import axios from "axios"
function App(){
const [notes, setNotes] = React.useState([]);
React.useEffect(()=>{
axios.get('http://localhost:3001/user')
.then(res=>{
const entry = res.data;
setNotes(()=>{
return [...entry];
})
})
.catch(err =>{
console.log("Error: "+err);
})
})
function addNote(newNote){
axios.post('http://localhost:3001/user', newNote)
.then(res=>{console.log(res.data)})
.catch(err=>{console.log("Error: "+err)})
setNotes((prevNotes)=>{
return [...prevNotes, newNote];
});
console.log(newNote);
}
function deleteNote(id){
setNotes(prevNotes =>{
return prevNotes.filter((noteItem, index)=>{
console.log(noteItem);
return index !== id;
});
});
}
return (
<div>
<Header />
<CreateArea onAdd={addNote} />
{notes.map((noteItem, index)=>{
return <Note key={index} id={index} title={noteItem.title} content={noteItem.content} onDelete={deleteNote} />
})}
<Footer />
</div>
)
}
export default App;
I looked around and landed on this thread Axios.get() ReactJS. Following this I added the useEffect
but still infinite calls are being made.