<?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: Amin Deraiya</title>
    <description>The latest articles on DEV Community by Amin Deraiya (@amin_deraiya).</description>
    <link>https://dev.to/amin_deraiya</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F664036%2F5ce1ecba-6c4f-46bc-af26-39cb6d1aa594.jpeg</url>
      <title>DEV Community: Amin Deraiya</title>
      <link>https://dev.to/amin_deraiya</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/amin_deraiya"/>
    <language>en</language>
    <item>
      <title>Generate Random ChatRoom id for your next chat app</title>
      <dc:creator>Amin Deraiya</dc:creator>
      <pubDate>Wed, 17 Aug 2022 05:10:00 +0000</pubDate>
      <link>https://dev.to/amin_deraiya/generate-random-chatroom-id-for-your-next-chat-app-1f3m</link>
      <guid>https://dev.to/amin_deraiya/generate-random-chatroom-id-for-your-next-chat-app-1f3m</guid>
      <description>&lt;p&gt;Function to generate ChatRoom Id:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function generate_chatRoom_id(id1, id2) {
  const sorted = [id1, id2].sort();
  const id = sorted[0] + sorted[1];
  return id;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>javascript</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>React detect div reach top and bottom</title>
      <dc:creator>Amin Deraiya</dc:creator>
      <pubDate>Thu, 04 Aug 2022 06:30:00 +0000</pubDate>
      <link>https://dev.to/amin_deraiya/react-detect-div-reach-top-and-bottom-1fjp</link>
      <guid>https://dev.to/amin_deraiya/react-detect-div-reach-top-and-bottom-1fjp</guid>
      <description>&lt;p&gt;&lt;strong&gt;Detect Div reaches to bottom&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React, { useRef } from "react";

export default function App() {
  const listInnerRef = useRef();

  const onScroll = () =&amp;gt; {
    if (listInnerRef.current) {
      const { scrollTop, scrollHeight, clientHeight } = listInnerRef.current;
      if (scrollTop + clientHeight === scrollHeight) {
        console.log("reached bottom");
      }
    }
  };

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;div
        onScroll={onScroll}
        ref={listInnerRef}
        style={{ height: "200px", overflowY: "auto" }}
      &amp;gt;
        {Array(200)
          .fill()
          .map((_, i) =&amp;gt; {
            return &amp;lt;p key={i}&amp;gt;{i}&amp;lt;/p&amp;gt;;
          })}
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Detect Div reaches to Top&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React, { useRef } from "react";

export default function App() {
  const listInnerRef = useRef();

  const onScroll = () =&amp;gt; {
    if (listInnerRef.current) {
      const { scrollTop } = listInnerRef.current;
      console.log({ scrollTop });

      if (scrollTop === 0) {
        console.log("reached Top");
      }
    }
  };

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;div
        onScroll={onScroll}
        ref={listInnerRef}
        style={{ height: "200px", overflowY: "auto" }}
      &amp;gt;
        {Array(200)
          .fill()
          .map((_, i) =&amp;gt; {
            return &amp;lt;p key={i}&amp;gt;{i}&amp;lt;/p&amp;gt;;
          })}
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>javascript</category>
      <category>react</category>
    </item>
  </channel>
</rss>
