Unhandled Runtime Error Error: Request failed with status code 500

1.6k views Asked by At

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]);


2

There are 2 answers

0
Paiman Rasoli On BEST ANSWER

yes just do this in useEffect:

useEffect(() => {
   if(id != null){
      axios.get(url +"/"+id).then(...)
   }
},[id])
0
Tushar Shahi On

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]);