<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Muhammad Sibtain</title>
    <description>The latest articles on DEV Community by Muhammad Sibtain (@sibtainrawn).</description>
    <link>https://dev.to/sibtainrawn</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F918739%2F163c21ad-226d-45c6-97f9-9ebf820bdb29.jpeg</url>
      <title>DEV Community: Muhammad Sibtain</title>
      <link>https://dev.to/sibtainrawn</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sibtainrawn"/>
    <language>en</language>
    <item>
      <title>I want to Prevent multiple request to an API</title>
      <dc:creator>Muhammad Sibtain</dc:creator>
      <pubDate>Fri, 19 May 2023 11:19:52 +0000</pubDate>
      <link>https://dev.to/sibtainrawn/i-want-to-prevent-multiple-request-to-an-api-4oh0</link>
      <guid>https://dev.to/sibtainrawn/i-want-to-prevent-multiple-request-to-an-api-4oh0</guid>
      <description>&lt;p&gt;Here is my code , fix it with details. &lt;br&gt;
Thank you.&lt;/p&gt;

&lt;p&gt;`import "../src/App.css";&lt;br&gt;
import { Button } from "@mui/material";&lt;br&gt;
import { TextField } from "@mui/material";&lt;br&gt;
import { Grid } from "@mui/material";&lt;br&gt;
import Table from "@mui/material/Table";&lt;br&gt;
import TableBody from "@mui/material/TableBody";&lt;br&gt;
import TableCell from "@mui/material/TableCell";&lt;br&gt;
import TableHead from "@mui/material/TableHead";&lt;br&gt;
import TableRow from "@mui/material/TableRow";&lt;br&gt;
import axios from "axios";&lt;br&gt;
import { useState, useEffect } from "react";&lt;/p&gt;

&lt;p&gt;export default function Design() {&lt;br&gt;
  const [search, setSearch] = useState([]);&lt;br&gt;
  const [record, setRecord] = useState("");&lt;/p&gt;

&lt;p&gt;const loadRecord = async () =&amp;gt; {&lt;br&gt;
    try {&lt;br&gt;
      const res = await axios.get("&lt;a href="https://fruityvice.com/api/fruit/all%22"&gt;https://fruityvice.com/api/fruit/all"&lt;/a&gt;);&lt;br&gt;
      setSearch(res.data);&lt;br&gt;
    } catch (error) {&lt;br&gt;
      console.error("Error loading records:", error);&lt;br&gt;
    }&lt;br&gt;
  };&lt;/p&gt;

&lt;p&gt;useEffect(() =&amp;gt; {&lt;br&gt;
    loadRecord();&lt;br&gt;
  }, []);&lt;/p&gt;

&lt;p&gt;const searchRecord = async (search_term) =&amp;gt; {&lt;br&gt;
    try {&lt;br&gt;
      if (search_term.length &amp;lt;= 3){&lt;br&gt;
        // console.log(search_term)&lt;br&gt;
        return;&lt;br&gt;
      }&lt;br&gt;
      const res = await axios.get(&lt;code&gt;https://fruityvice.com/api/fruit/${search_term}&lt;/code&gt;);&lt;br&gt;
      setSearch([res.data]);&lt;br&gt;
    } catch (error) {&lt;br&gt;
      console.error("Error searching record:", error);&lt;br&gt;
      setSearch([]);&lt;br&gt;
    }&lt;br&gt;
  };&lt;/p&gt;

&lt;p&gt;const getTotalNutritions = (item) =&amp;gt; {&lt;br&gt;
    return Object.values(item.nutritions).reduce(&lt;br&gt;
      (total, value) =&amp;gt; total + Math.trunc(value),&lt;br&gt;
      0&lt;br&gt;
    );&lt;br&gt;
  };&lt;/p&gt;

&lt;p&gt;return (&lt;br&gt;
    &lt;/p&gt;
&lt;br&gt;
      &lt;h1&gt;Fruit Project&lt;/h1&gt;
&lt;br&gt;
      &lt;br&gt;
        &lt;br&gt;
          &lt;br&gt;
            
              label="Search Fruit"&lt;br&gt;
              variant="outlined"&lt;br&gt;
              onChange={ search_term.length &amp;lt;=3 ? setTimeout(() =&amp;gt; {&lt;br&gt;
                  search_term(event.target.value)&lt;br&gt;
              },3000) : (e) =&amp;gt; searchRecord(e.target.value)}&lt;br&gt;
            /&amp;gt;&lt;br&gt;
          
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;      &amp;lt;Grid item className="outline--btn"&amp;gt;
        &amp;lt;Button
          color="secondary"
          variant="contained"
          // onClick={searchRecord}
        &amp;gt;
          Search Fruit
        &amp;lt;/Button&amp;gt;
      &amp;lt;/Grid&amp;gt;
    &amp;lt;/Grid&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;Table
    style={{ width: 400, margin: "auto" }}
    sx={{ minWidth: 650 }}
    aria-label="simple table"
  &amp;gt;
    &amp;lt;TableHead&amp;gt;
      &amp;lt;TableRow&amp;gt;
        &amp;lt;TableCell&amp;gt;Sr No&amp;lt;/TableCell&amp;gt;
        &amp;lt;TableCell&amp;gt;Name&amp;lt;/TableCell&amp;gt;
        &amp;lt;TableCell&amp;gt;Family&amp;lt;/TableCell&amp;gt;
        &amp;lt;TableCell&amp;gt;Order&amp;lt;/TableCell&amp;gt;
        &amp;lt;TableCell&amp;gt;Nutritions&amp;lt;/TableCell&amp;gt;
        &amp;lt;TableCell&amp;gt;Genus&amp;lt;/TableCell&amp;gt;
      &amp;lt;/TableRow&amp;gt;
    &amp;lt;/TableHead&amp;gt;
    &amp;lt;TableBody&amp;gt;
      {Array.isArray(search) &amp;amp;&amp;amp; search.length &amp;gt; 0 ? (
        search.sort((a, b) =&amp;gt; a.id - b.id).map((item) =&amp;gt; (
          &amp;lt;TableRow
            key={item.id}
            sx={{ "&amp;amp;:last-child td, &amp;amp;:last-child th": { border: 0 } }}
          &amp;gt;
            &amp;lt;TableCell component="th" scope="row"&amp;gt;
              {item.id}
            &amp;lt;/TableCell&amp;gt;
            &amp;lt;TableCell&amp;gt;{item.name}&amp;lt;/TableCell&amp;gt;
            &amp;lt;TableCell&amp;gt;{item.family}&amp;lt;/TableCell&amp;gt;
            &amp;lt;TableCell&amp;gt;{item.order}&amp;lt;/TableCell&amp;gt;
            &amp;lt;TableCell&amp;gt;{getTotalNutritions(item)}&amp;lt;/TableCell&amp;gt;
            &amp;lt;TableCell&amp;gt;{item.genus}&amp;lt;/TableCell&amp;gt;
          &amp;lt;/TableRow&amp;gt;
        ))
      ) : (
        &amp;lt;TableRow&amp;gt;
          &amp;lt;TableCell colSpan={2} align="center"&amp;gt;
            {search.length === 0 ? "No data available" : "Loading..."}
          &amp;lt;/TableCell&amp;gt;
        &amp;lt;/TableRow&amp;gt;
      )}
    &amp;lt;/TableBody&amp;gt;
  &amp;lt;/Table&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;);&lt;br&gt;
}`&lt;/p&gt;

&lt;h1&gt;
  
  
  react #react-js #js #javaScript
&lt;/h1&gt;

</description>
      <category>react</category>
      <category>api</category>
      <category>settimeout</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to go to next post using Link href="" in next js?</title>
      <dc:creator>Muhammad Sibtain</dc:creator>
      <pubDate>Wed, 31 Aug 2022 16:43:44 +0000</pubDate>
      <link>https://dev.to/sibtainrawn/how-to-go-to-next-post-usin-link-in-next-js-4g5d</link>
      <guid>https://dev.to/sibtainrawn/how-to-go-to-next-post-usin-link-in-next-js-4g5d</guid>
      <description>&lt;p&gt;the next button is creating an issue for me , i have an array of object and want to access it , but it gives undefined. i want to go on URL as localhost:3000/blog/6. and i have 6 objects in an array. but when i write blogDetails.id + 1 , it accross the my objects as which i do not want .URL becomes as : localhost:3000/blog/7 &lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
