Reputation: 265
i am getting Unhandled Runtime Error Error: Request failed with status code 500
when i console.log(gotid
) i am getting id
but when i pass it to axios in network tab it becomes https://ask-over.herokuapp.com/questone/undefined
const [Item, setItem] = useState([]);
const router = useRouter();
var id = router.query.itmid;
var gotid = id;
console.log(gotid);
useEffect(() => {
axios
.get("https://ask-over.herokuapp.com/questone/" + gotid)
.then((result) => {
console.log(result);
// document.title = result.data[0].Name;
setItem(result.data);
});
// console.table(this.state.items);
}, [id]);
Upvotes: 0
Views: 1684
Reputation: 20441
No need to create extra variables :
const [Item, setItem] = useState([]);
const router = useRouter();
var id = router.query.itmid;
console.log(id);
useEffect(() => {
axios
.get("https://ask-over.herokuapp.com/questone/" + id)
.then((result) => {
console.log(result);
// document.title = result.data[0].Name;
setItem(result.data);
});
// console.table(this.state.items);
}, [id]);
Upvotes: 0
Reputation: 1214
yes just do this in useEffect:
useEffect(() => {
if(id != null){
axios.get(url +"/"+id).then(...)
}
},[id])
Upvotes: 1