<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Developerarun on Medium]]></title>
        <description><![CDATA[Stories by Developerarun on Medium]]></description>
        <link>https://medium.com/@developerarun01?source=rss-22147b9c4d2d------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*873033ag5tljDo_Y</url>
            <title>Stories by Developerarun on Medium</title>
            <link>https://medium.com/@developerarun01?source=rss-22147b9c4d2d------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Fri, 13 Nov 2026 20:58:54 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@developerarun01/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Stop Using fetch() Like a Beginner : The Ultimate Guide to Axios in React]]></title>
            <link>https://medium.com/@developerarun01/stop-using-fetch-like-a-beginner-the-ultimate-guide-to-axios-in-react-8e51761cf454?source=rss-22147b9c4d2d------2</link>
            <guid isPermaLink="false">https://medium.com/p/8e51761cf454</guid>
            <category><![CDATA[axios]]></category>
            <category><![CDATA[interceptors]]></category>
            <category><![CDATA[aborthandling]]></category>
            <category><![CDATA[react-instance]]></category>
            <dc:creator><![CDATA[Developerarun]]></dc:creator>
            <pubDate>Fri, 23 Oct 2026 07:19:01 GMT</pubDate>
            <atom:updated>2026-10-23T07:19:01.340Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BMz7qFjb2PSOF_TxiBdmxg.png" /></figure><p><strong><em>Hey developers !</em></strong></p><p><em>Ever wondered how to make API calls cleaner, smarter, and more reliable in your React applications?</em></p><p><strong><em>Meet Axios</em></strong><em> — It is used to handling HTTP requests .In this blog , we will explore about basic CRUD operations to interceptors, reusable instances, and request cancellation.</em></p><p><strong><em>What is Axios ?</em></strong></p><p><em>Axios is a popular third-party library that lets you make and manage HTTP request more easier than native fetch().</em></p><p><strong><em>Why we use axios ?</em></strong></p><p><em>Why everyone turning to axios instead of native fetch() ? There are four key reasons for this .</em></p><ol><li><strong><em>Automatic JSON transformation : </em></strong><em>In native fetch() , you have to write extra code manually to convert the response into JSON. but Axios automatically transforms responce into JSON .</em></li><li><strong><em>Better Error Handling :</em></strong><em> In fetch() , Catch block only catches network errors . even if a 404(</em><strong><em>Not Found)</em></strong><em> and 500 (</em><strong><em>Internal Server Error</em></strong><em>) occurs, the promises is still treated as a successful responce . But axios automatically throws an error to catch block whenever 4xx or 5xx http status code is returned .</em></li><li><strong><em>Interceptor :</em></strong><em> Axios allows you to intercept and modify HTTP requests before they are sent and intercept responses before they are delivered to your application.</em></li><li><strong><em>Timeout : </em></strong><em>Axios allows you to set a maximum time to wait for a response. If the request takes longer than the specified time, Axios aborts the request and returns a timeout error.</em></li></ol><p><strong><em>Basic CRUD Operations :</em></strong></p><ol><li><strong><em>C → Create :</em></strong><em> Create or add a new data by using </em><strong><em>POST</em></strong><em> method .</em></li><li><strong><em>R → Read :</em></strong><em> Fetch a data from API by using </em><strong><em>GET </em></strong><em>method .</em></li><li><strong><em>U → Update :</em></strong><em> modify data by using </em><strong><em>PUT / PATCH</em></strong><em> method.</em></li><li><strong><em>D → Delete : </em></strong><em>Delete or remove a data by using </em><strong><em>DELETE </em></strong><em>method.</em></li></ol><p><strong><em>Configuration of Axios :</em></strong></p><p><strong><em>Step 1 :</em></strong><em> install axios libaray in your app . Install command ,</em></p><pre>npm i axios</pre><p><strong><em>Step 2 :</em></strong><em> import axios in your app . Import syntax ,</em></p><pre>import axios from &#39;axios&#39;;</pre><p><strong><em>Step 3 :</em></strong><em> Perform CRUD operations by using Axios</em></p><ol><li><strong><em>READ </em></strong><em>→ aixos.get(“ url ”) → Fetch a data from Server :</em></li></ol><pre>import axios from &#39;axios&#39;;<br><br>async function fetchUsers() {<br>  try {<br><br>    const response = await axios.get(&#39;https://jsonplaceholder.typicode.com/users&#39;);<br>    console.log(&quot;Users Data:&quot;, response.data);<br>    return response.data;<br>    <br>  } catch (error) {<br>    console.error(&quot;Error fetching users:&quot;, error.message);<br>  }<br>}<br><br>fetchUsers();</pre><p><strong><em>2. CREATE </em></strong><em>→ axios.post(“ url ” , data ) → Create and add a new data :</em></p><pre>import axios from &#39;axios&#39;;<br><br>async function createNewUser() {<br>  try {<br>    const newUser = {<br>      name: &quot;Arun&quot;,<br>      email: &quot;arun@example.com&quot;<br>    };<br><br>    const response = await axios.post(&#39;https://jsonplaceholder.typicode.com/users&#39;, newUser);<br>    <br>    console.log(&quot;Created User:&quot;, response.data);<br>    return response.data;<br>    <br>  } catch (error) {<br>    console.error(&quot;Error creating user:&quot;, error.message);<br>  }<br>}<br><br>createNewUser();</pre><p><strong><em>3. UPDATE </em></strong><em>→ axios.put(“ url ” , updated_data) or axios.patch(“ url ” , updated_data) → Modifying data :</em></p><pre>import axios from &#39;axios&#39;;<br><br>async function updateUserData(userId) {<br>  try {<br>    const updatedDetails = {<br>      name: &quot;Arun Pandi&quot;,<br>      email: &quot;arun.pandi@example.com&quot;<br>    };<br><br>    const response = await axios.put(`https://jsonplaceholder.typicode.com/users/${userId}`, updatedDetails);<br>    <br>    console.log(&quot;Updated User:&quot;, response.data);<br>    return response.data;<br>    <br>  } catch (error) {<br>    console.error(&quot;Error updating user:&quot;, error.message);<br>  }<br>}<br><br>updateUserData(1);</pre><p><strong><em>4. DELETE</em></strong><em> → axios.delete(“ url ”) → Delete a data :</em></p><pre>import axios from &#39;axios&#39;;<br><br>async function deleteUser(userId) {<br>  try {<br>    const response = await axios.delete(`https://jsonplaceholder.typicode.com/users/${userId}`);<br>    <br>    console.log(`User with ID ${userId} deleted successfully!`, response.status);<br>    return true;<br>    <br>  } catch (error) {<br>    console.error(&quot;Error deleting user:&quot;, error.message);<br>    return false;<br>  }<br>}<br><br>deleteUser(1); </pre><p><strong><em>What is an Axios Instance ?</em></strong></p><p><em>Axios instance is a custom-configured copy of axios where you define your baseURL , default headers, and timeout once. You can then reuse this instance anywhere in your project as needed.</em></p><pre>import axios from &#39;axios&#39;;<br><br>// Create Instance <br>export const api = axios.create({<br>  baseURL: &#39;https://jsonplaceholder.typicode.com&#39;,<br>  timeout: 5000,<br>});</pre><pre>import React, { useEffect, useState } from &#39;react&#39;;<br>import { api } from &#39;./api&#39;;<br><br>// use instance anywhere<br>export default function App() {<br>  const [posts, setPosts] = useState([]);<br><br>  useEffect(() =&gt; {<br>    api.get(&#39;/posts&#39;).then(res =&gt; setPosts(res.data.slice(0, 5)));<br>  }, []);<br><br>  return (<br>    &lt;div style={{ padding: 20 }}&gt;<br>      &lt;h2&gt;Axios Instance Example&lt;/h2&gt;<br>      &lt;ul&gt;<br>        {posts.map(post =&gt; &lt;li key={post.id}&gt;{post.title}&lt;/li&gt;)}<br>      &lt;/ul&gt;<br>    &lt;/div&gt;<br>  );<br>}</pre><p><strong><em>What is Interceptors ?</em></strong></p><p><em>Interceptors allow you to intercept and modify HTTP requests before they are sent to the server, as well as handle or modify responses as soon as they come back.</em></p><p><strong><em>Type 1 : Request Interceptor</em></strong></p><p><em>Instead of manually passing the token in the headers for every API request, you can write it just once inside a request interceptor.</em></p><pre>api.interceptors.request.use(<br><br>  (config) =&gt; {<br>    const token = localStorage.getItem(&#39;token&#39;);<br>    if (token) {<br>      config.headers.Authorization = `Bearer ${token}`;<br>    }<br>    return config; <br>  },<br>  (error) =&gt; {<br>    return Promise.reject(error);<br>  }<br>);</pre><p><strong><em>Type 2 : Response Interceptor</em></strong></p><p><em>If the users token expires the server will send a </em><strong><em>401 Unauthorized</em></strong><em> error. A response interceptor can catch this error and automatically redirect the user to the /login page.</em></p><pre>api.interceptors.response.use(<br>  (response) =&gt; response, <br>  (error) =&gt; {<br>    if (error.response &amp;&amp; error.response.status === 401) {<br>      <br>      localStorage.removeItem(&#39;token&#39;);<br>      window.location.href = &#39;/login&#39;; <br>    }<br>    return Promise.reject(error);<br>  }<br>);</pre><p><strong><em>What is AboutController ?</em></strong></p><p><em>After sending an API request to the server, intercepting and canceling it midway is done using AboutController. Previously, axios used cancelToken .</em></p><p><em>However, axios now supports the modern JavaScript standard AboutController directly.</em></p><p><strong><em>Why use AboutController?</em></strong></p><p><em>It helps prevent unnecessary server load and memory leak warnings by instantly canceling ongoing API requests when users type fast, switch pages, or click cancel.</em></p><pre>import { useEffect } from &#39;react&#39;;<br>import axios from &#39;axios&#39;;<br><br>function App() {<br>  useEffect(() =&gt; {<br>    // 1. create Controller <br>    const controller = new AbortController();<br><br>    // 2. pass the request signal<br>axios.get(&#39;https://jsonplaceholder.typicode.com/posts&#39;, {<br>      signal: controller.signal <br>    })<br>    .then(res =&gt; console.log(res.data))<br>    .catch(err =&gt; {<br>      if (axios.isCancel(err)) {<br>        console.log(&#39;Request cancelled successfully!&#39;);<br>      }<br>    });<br><br>    // 3. abort request during Component unmount <br>    return () =&gt; {<br>      controller.abort();<br>    };<br>  }, []);<br><br>  return &lt;div&gt;Check console (Open/Close component quickly)&lt;/div&gt;;<br>}<br><br>export default App;</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8e51761cf454" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[React Router Series Part 2 - Go Deeper with React Router]]></title>
            <link>https://medium.com/@developerarun01/react-router-series-part-2-go-deeper-with-react-router-f7a82c804681?source=rss-22147b9c4d2d------2</link>
            <guid isPermaLink="false">https://medium.com/p/f7a82c804681</guid>
            <category><![CDATA[params]]></category>
            <category><![CDATA[errorelement]]></category>
            <category><![CDATA[routeprovider]]></category>
            <category><![CDATA[outlet]]></category>
            <category><![CDATA[location-state]]></category>
            <dc:creator><![CDATA[Developerarun]]></dc:creator>
            <pubDate>Fri, 16 Oct 2026 09:04:55 GMT</pubDate>
            <atom:updated>2026-10-16T09:04:55.321Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BK_NZGZhRPoRh1TahLLm_A.png" /></figure><p><strong><em>Hey developers !</em></strong></p><p><em>Welcome back to Part 2 of the</em><strong><em> React Router series .</em></strong></p><p><em>In Part 1 , we covered the basics of React Router and explored different ways to navigate between pages. Now, lets take things a step further .</em></p><p><em>How do we create nested layouts , work with dynamic URLs and query parameters, manage navigation state , and handle routing errors ?</em></p><p><em>In this part, we will explore these concepts and learn how to build more flexible, and user-friendly React applications.</em></p><p><strong><em>What is Params ?</em></strong></p><p><em>Params (Parameters) is most important concept in react-router . It is used to pass the minimal value from one component to another component via URL.</em></p><p><strong><em>The Major Two Types of Params :</em></strong></p><p><strong><em>1)URL Parameter ( Dynamic Route Segment ):</em></strong></p><p><em>useParams is a react built-in hook . That is used to load specific item or user-profile by using placeholder variable in URL . we can get the value like variable in URL.</em></p><p><strong><em>Step 1 : Route Setup </em></strong><em><br> Define dynamic segment by using Collon (:)</em></p><pre>import { BrowserRouter, Routes, Route } from &quot;react-router-dom&quot;;<br>import UserProfile from &quot;./UserProfile&quot;;<br><br>function App() {<br>  return (<br>    &lt;BrowserRouter&gt; <br>      &lt;Navbar /&gt;<br>      &lt;Routes&gt;<br>       &lt;Route path=&quot;/user/:userName&quot; element={&lt;UserProfile/&gt;}/&gt;<br>      &lt;/Routes&gt;<br>    &lt;/BrowserRouter&gt;<br>  );<br>}<br><br>export default App;</pre><p><strong><em>Step 2 : Extracting param in Component :</em></strong><em><br> Exract the value by using useParams() hook .</em></p><pre>import { useParams } from &quot;react-router-dom&quot;;<br><br>function UserProfile() {<br>  const { userName } = useParams(); // Extracts &#39;username&#39; from the URL<br><br>  return &lt;h2&gt;Hello, {userName}!&lt;/h2&gt;;<br>}<br>export default UserProfile;</pre><p><strong><em>2.Query Params / Search Params :</em></strong></p><p><em>These are used to handle or modify data states such as filtering, pagination, and sorting. You can access and manage these values using the </em><strong><em>useSearchParams () </em></strong><em>hook.</em></p><p><strong><em>what is useSearchParams ?</em></strong></p><p><strong><em>useSearchParams </em></strong><em>is a React hook used for reading and writing URL queryparameters(such as ?search=react&amp;sort=asc)</em></p><p><strong><em>How to use in component :<br></em></strong><em>useSearchParams works like useState hook .It will return an array and get() method used to get the values from QueryParams and it updates through the setSearchParam function.</em></p><pre>import { useSearchParams } from &quot;react-router-dom&quot;;<br><br>function SearchPage() {<br>  const [searchParams, setSearchParams] = useSearchParams();<br><br>  // Read a parameter (e.g., /search?query=react -&gt; &quot;react&quot;)<br>  const query = searchParams.get(&quot;query&quot;);<br><br>  const updateSearch = () =&gt; {<br>    // Update the query parameter in the URL<br>    setSearchParams({ query: &quot;javascript&quot; });<br>  };<br><br>  return (<br>    &lt;div&gt;<br>      &lt;p&gt;Current Query: {query}&lt;/p&gt;<br>      &lt;button onClick={updateSearch}&gt;Change to JavaScript&lt;/button&gt;<br>    &lt;/div&gt;<br>  );<br>}</pre><p><strong><em>What is useLocation ?</em></strong></p><p><strong><em>useLocation </em></strong><em>is a React hook that returns the </em><strong><em>location object</em></strong><em> representing the current URL. It allows you to access information about the current page, such as the pathname, search query parameters, hash, and any hidden state passed during navigation .</em></p><pre>{<br>  &quot;pathname&quot;: &quot;/products/shoes&quot;,<br>  &quot;search&quot;: &quot;?sort=price&quot;,<br>  &quot;hash&quot;: &quot;#reviews&quot;,<br>  &quot;state&quot;: { &quot;fromDashboard&quot;: true },<br>  &quot;key&quot;: &quot;default&quot;<br>}</pre><p><strong><em>How to use useLocation() hook in component :</em></strong></p><pre>import { useLocation } from &quot;react-router-dom&quot;;<br><br>function AnalyticsTracker() {<br>  const location = useLocation();<br><br>  return (<br>    &lt;div&gt;<br>      &lt;p&gt;Current Path: {location.pathname}&lt;/p&gt;<br>      &lt;p&gt;Search Query String: {location.search}&lt;/p&gt;<br>    &lt;/div&gt;<br>  );<br>}</pre><p><strong><em>Benifits of useLocation() Hook :<br></em></strong><em> 1.Avoiding Extra API call .<br>2.Post-Login Redirection .</em></p><p><strong><em>Nested Route &amp; Layout :</em></strong></p><p><em>Nested route allows you to organize web pages using simple parent-child structure (Hierarchy structure) . By palcing child </em><strong><em>&lt;Route/&gt;</em></strong><em> element inside a parent layout route and using the </em><strong><em>&lt;Outlet/&gt; </em></strong><em>component as a placeholder , this keeps common elements like navbar visible on the screen , At the same time it updates only the inner content dynamically as you navigate .</em></p><p><strong><em>Core Attributes :</em></strong></p><p><strong><em>1.index (Boolean) : </em></strong><em>Sets a default child route to render inside a parent layout when the parents exact URL path matches.</em></p><p><strong><em>2. errorElement (jsx) : </em></strong><em>To display a fallback UI , if a route crashes or fails to load properly.</em></p><pre>&lt;Route <br>  path=&quot;/profile&quot; <br>  element={&lt;Profile /&gt;} <br>  errorElement={&lt;ProfileErrorFallback /&gt;} <br>/&gt;</pre><p><strong><em>3. casesensitive(Boolean) :</em></strong><em> strictly Match the URL path letter based on their case (</em><strong><em>Example</em></strong><em> : recongnize </em><strong><em>/Admin</em></strong><em> and </em><strong><em>/admin</em></strong><em> not same )</em></p><pre>&lt;Routes&gt;<br>  &lt;Route <br>    path=&quot;/adminDashboard&quot; <br>    element={&lt;AdminPanel /&gt;} <br>    caseSensitive={true} <br>  /&gt;<br>&lt;/Routes&gt;</pre><p><strong><em>4. context (object) : </em></strong><em>Pass custom state or data from a parent route to child routes through the </em><strong><em>&lt;Outlet/&gt; </em></strong><em>component.</em></p><pre>import { Outlet } from &quot;react-router-dom&quot;;<br><br>function ProfileLayout() {<br>  const user = { name: &quot;Arun&quot;, role: &quot;Frontend Developer&quot; };<br><br>  // Pass user object through context<br>  return (<br>    &lt;div&gt;<br>      &lt;h1&gt;Profile Header&lt;/h1&gt;<br>      &lt;Outlet context={user} /&gt; <br>    &lt;/div&gt;<br>  );<br>}</pre><pre>import { useOutletContext } from &quot;react-router-dom&quot;;<br><br>export default function ChildProfile() {<br>  // Extract user and theme directly from the parent&#39;s outlet context<br>  const { user } = useOutletContext();<br><br>  return (<br>    &lt;div&gt;<br>      &lt;h2&gt;Child Component&lt;/h2&gt;<br>      &lt;p&gt;Logged-in User: {user.name}&lt;/p&gt;<br>      &lt;p&gt;Role: {user.role}&lt;/p&gt;<br>    &lt;/div&gt;<br>  );<br>}</pre><p><strong><em>What is RouterProvider ?</em></strong></p><p><em>Routerprovider is a core component . That is introduced in react-router v6.4+ . It handle the routes through Configuration object ( JSON structure ).<br>It accept the router instance via createBrowserRouter and mounts your application . Unlike traditional JSX — based routing , It unlocks modern performance features like loader , action , errorElement , fallbackElement ,etc..</em></p><p><strong><em>1.RouterProvider Configuration (Setup) :</em></strong></p><p><em>The router prop is mandatory for the </em><strong><em>&lt;RouterProvider/&gt;</em></strong><em> component. To create that required router object , we use the createBrowserRouter() function .</em></p><p><strong><em>Create Router &amp; Wrap with RouterProvider :</em></strong></p><pre>import { createBrowserRouter, RouterProvider } from &quot;react-router-dom&quot;;<br>import RootLayout from &quot;./RootLayout&quot;;<br>import Home from &quot;./Home&quot;;<br>import About from &quot;./About&quot;;<br>import ErrorPage from &quot;./ErrorPage&quot;;<br><br>// 1. Create the router configuration object<br>const router = createBrowserRouter([<br>  {<br>    path: &quot;/&quot;,<br>    element: &lt;RootLayout /&gt;,<br>    errorElement: &lt;ErrorPage /&gt;, <br>    children: [<br>      { index: true, element: &lt;Home /&gt; },<br>      { path: &quot;about&quot;, element: &lt;About /&gt; },<br>    ],<br>  },<br>]);<br><br>// 2. Pass it to RouterProvider <br>function App() {<br>  return &lt;RouterProvider router={router} /&gt;;<br>}<br><br>export default App;</pre><p><strong><em>All Attributes / Props :</em></strong></p><p><em>RouterProvider component accepts only few props. but , each one very important prop.</em></p><ol><li><strong><em>router (Mandatory) : </em></strong><em>It gets the router instance that was created by createBrowserRouter or createHashRouter function.</em></li></ol><pre>&lt;RouterProvider router={router} /&gt;</pre><p><strong><em>2.fallbackElement : </em></strong><em>This defines what is displayed on the screen ( such as a loading spinner) while a lazy-loaded component is still being fetched.</em></p><pre>&lt;RouterProvider router={router} fallbackElement={&lt;GlobalSpinner /&gt;} /&gt;</pre><p><strong><em>3.hydrateFallbackElement : </em></strong><em>It handles fallback UI rendering during initial hydration when using server-side rendering or frameworks .</em></p><pre>&lt;RouterProvider router={router} hydrateFallbackElement={&lt;SSRSpinner /&gt;} /&gt;</pre><p><strong><em>4.future : </em></strong><em>This serves as an important safety feature that prevents sudden application crashes during major system upgrades.</em></p><pre>&lt;RouterProvider <br>  router={router} <br>  future={{ v7_startTransition: true }} /&gt;</pre><p><strong><em>Error Management (errorElement) :</em></strong></p><p><em>errorElement is built-in property in react router . That act as a safety net .If a component throws any error during rendering or route fails to load properly , react router catch the error and automatically renders the specific fallback component instead of crashing the entire application .</em></p><p><strong><em>Example :</em></strong></p><pre>import { createBrowserRouter, RouterProvider, useRouteError } from &quot;react-router-dom&quot;;<br><br>// 1. Create a custom error fallback component<br>function ErrorPage() {<br>  const error = useRouteError();<br>  return (<br>    &lt;div style={{ padding: &quot;20px&quot;, textAlign: &quot;center&quot; }}&gt;<br>      &lt;h2&gt;Oops! Something went wrong.&lt;/h2&gt;<br>      &lt;p&gt;{error.statusText || error.message}&lt;/p&gt;<br>    &lt;/div&gt;<br>  );<br>}<br><br>// 2. Define your routes and attach errorElement<br>const router = createBrowserRouter([<br>  {<br>    path: &quot;/&quot;,<br>    element: &lt;Home/&gt;,<br>    errorElement: &lt;ErrorPage/&gt;, // Catches errors for this route and its children<br>  },<br>]);<br><br>function App() {<br>  return &lt;RouterProvider router={router} /&gt;;<br>}</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f7a82c804681" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Mastering React Router : From Core Basics to Smooth Navigation]]></title>
            <link>https://medium.com/@developerarun01/mastering-react-router-from-core-basics-to-smooth-navigation-c37f7df30bc2?source=rss-22147b9c4d2d------2</link>
            <guid isPermaLink="false">https://medium.com/p/c37f7df30bc2</guid>
            <category><![CDATA[navlink]]></category>
            <category><![CDATA[links]]></category>
            <category><![CDATA[react-router-dom]]></category>
            <category><![CDATA[basic-routing]]></category>
            <category><![CDATA[programmatic-navigation]]></category>
            <dc:creator><![CDATA[Developerarun]]></dc:creator>
            <pubDate>Thu, 15 Oct 2026 10:03:36 GMT</pubDate>
            <atom:updated>2026-10-15T10:03:36.635Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tsjqGnATplVMFq4UXX7_xw.png" /></figure><p><strong><em>Hey React developers !</em></strong></p><p><em>Have you ever wondered how a single React application can navigate between multiple pages without reloading the entire website?</em></p><p><em>Meet </em><strong><em>React Router</em></strong><em> — the library that makes navigation smooth, dynamic, and seamless! . In this blog, let’s explore how it works and how we can build better, multi-page experiences with React.</em></p><p><strong><em>What is Routing ?</em></strong></p><p><em>Routing is nothing but displaying the different components or webpages based on the Web URL.</em></p><p><em>For example:</em></p><ul><li><em>/→ Home page</em></li><li><em>/about→ About page</em></li><li><em>/contact → Contact page</em></li><li><em>/product → Products page</em></li></ul><p><strong><em>What is React-Router ?</em></strong></p><p><em>React router is most popular routing library in React . It allows you to manage and navigate between different components or webpages in react application . It enables the creation of dynamic, single-page applications .</em></p><p><strong><em>How to Config React-Router ?<br></em></strong><em>Firstly install react-router-dom library , Install command</em></p><pre>npm i react-router-dom</pre><p><em>secondly import the library and use it</em></p><pre>import { BrowserRouter, Routes, Route } from &quot;react-router-dom&quot;;<br><br>function App() {<br>  return (<br>    &lt;BrowserRouter&gt;<br>      &lt;Routes&gt;<br>        &lt;Route path=&quot;/&quot; element={&lt;Home /&gt;} /&gt;<br>        &lt;Route path=&quot;/about&quot; element={&lt;About /&gt;} /&gt;<br>      &lt;/Routes&gt;<br>    &lt;/BrowserRouter&gt;<br>  );<br>}</pre><p><strong>The Basic Core :</strong></p><ol><li><strong><em>&lt;BrowserRouter&gt; :</em></strong><em> BrowserRouter is an engine that connects react to the browser URL bar . It acts as a parent wrapper that manages and wraps all the routing components in your React application . Which means it gives routing power to whole react app and Tracks browser URL changes .</em></li><li><strong><em>&lt;Routes&gt; : </em></strong><em>Routes acts as a container that holds all your individual routes together . It ensure only one matching route is rendered at a time based on the current URL.</em></li><li><strong><em>&lt;Route&gt; :</em></strong><em> Route is the actual mapper . It connects a specific URL path to its corresponding React component . It have lot of properties like path , element , component , index , loder , action , errorElement , caseSensitive , shouldRevalidate , lazy , id . But where only two properties are mandatory . There are ,<br>1. path → URL string matcher →</em><strong><em> example :</em></strong><em> /profile<br>2. element → JSX element to render → &lt;Profile/&gt;</em></li></ol><p><strong>Navigation :</strong></p><p><em>Navigation is nothing but moving from one component to another component . </em><strong><em>example : </em></strong><em>move from login page to dashboard page .</em></p><p><strong><em>What is Link ?</em></strong></p><p><strong><em>Link</em></strong><em> is a react component . That is used to change web URL dynamically without page re-load . Generally , an </em><strong><em>&lt;a&gt;</em></strong><em> tag is used for page navigation, but it causes a full page refresh.</em></p><p><strong><em>Core Attributes :</em></strong></p><p><strong><em>1. to :</em></strong></p><p><em>value will be String or Object (Mandatory Attribute) .It define Navigation path.<br></em><strong><em>Examples </em></strong><em>:</em></p><pre>&lt;Link to=&quot;/about&quot;&gt;About&lt;/Link&gt;</pre><pre>&lt;Link to={{ path :&quot;/product&quot;, search : &quot;?category=laptop&amp;sort=asc&quot; , hash : &quot;#reviews&quot;,}} &gt;<br>product<br>&lt;/Link&gt;</pre><p><strong><em>2. replace (Boolean) :</em></strong></p><p><em>Generally, a new entry is added to the browsers history stack when you click a link, allowing you to click the back button to return to the previous page. When replace = {true} is used, it replaces the current history entry instead of adding a new one. As a result, clicking the back button will skip the current page and redirect the user two steps back.</em></p><pre>&lt;Link to=&quot;/dashboard&quot; replace={true}&gt;<br> Login &amp; Go to Dashboard<br> &lt;/Link&gt;</pre><p><strong><em>3. state (any Data types) :</em></strong></p><p><em>The state property some custom holds data and passes it to the destination page without showing it in the URL. This data can then be accessed using the useLocation () hook in the destination page or component.</em></p><p><strong><em>Example :</em></strong></p><pre>// Passing state via Link<br>&lt;Link to=&quot;/checkout&quot; state={{ productId: 12, price: 4999 }}&gt;<br>  Checkout<br>&lt;/Link&gt;<br><br>// Receiving state in the destination component<br>import { useLocation } from &quot;react-router-dom&quot;;<br><br>function CheckoutPage() {<br>  const location = useLocation();<br>  const { price, productId } = location.state ;<br><br>  return (<br>    &lt;div&gt;<br>      &lt;h2&gt;Checkout&lt;/h2&gt;<br>      &lt;p&gt;Product ID: {productId}&lt;/p&gt;<br>      &lt;p&gt;Price: {price}&lt;/p&gt;<br>    &lt;/div&gt;<br>  );<br>}</pre><p><strong><em>4. realoadDocument (Boolean) :</em></strong></p><p><em>When set to true, it forces a full-page browser refresh instead of smooth client-side routing, making the link behave like a traditional multi-page website rather than a single-page application (SPA).</em></p><pre>// Forces a full-page browser refresh instead of client-side routing<br>&lt;Link to=&quot;/contact&quot; reloadDocument={true}&gt;<br>  Contact Us (Full Refresh)<br>&lt;/Link&gt;</pre><p><strong><em>5. preventScrollReset (Boolean):</em></strong></p><p><em>By Default , when you navigate to new page in react-router . The scroll position automatically reset to the top (0,0) . To keeps the scroll position where it was instead of resetting , you can use preventScrollReset ( which is especially helpful for nested page )</em></p><pre>// Keeps the current scroll position instead of jumping back to the top (0,0)<br>&lt;Link to=&quot;/details&quot; preventScrollReset={true}&gt;<br>  View Details<br>&lt;/Link&gt;</pre><p><strong><em>6. relative ( “route” | “path” ) :</em></strong></p><p><em>It define how evaluate relative path when we use nested routes.<br>i)route : Default =&gt; hierarchy — Follow .<br>ii) path : Direct current URL string .</em></p><p><strong><em>Standard Html Anchor Attributes :</em></strong></p><p><em>By Default , Link Component internally rendered the output as an &lt;a&gt; tag . Because of this , you can also use standard anchor attributes like className , Style , rel , target , onClick attributes .</em></p><p><strong><em>what is NavLink ?</em></strong></p><p><em>NavLink is an enhanced version of Link Component . It is used to navigate menues &amp; highlight the active state .</em></p><p><strong><em>Example :</em></strong></p><pre>import { NavLink } from &quot;react-router-dom&quot;;<br><br>function Navbar() {<br>  return (<br>    &lt;nav&gt;<br>      &lt;NavLink to=&quot;/about&quot; <br>     className={({ isActive }) =&gt; (isActive ? &quot;active-link&quot; : &quot;normal-link&quot;)} &gt;<br>        About<br>      &lt;/NavLink&gt;<br>    &lt;/nav&gt;<br>  );<br>}</pre><p><strong><em>Programmatic Navigation :</em></strong></p><p><em>In react-router useNavigate () hook and &lt;Navigate/&gt; component are most important tools for redirect the web pages in programmatic way .</em></p><ol><li><strong><em>what is useNavigate ?</em></strong></li></ol><p><em>useNavigate is a react built-in hook . It is used to navigate or redirect the web pages via event or code </em><strong><em>(programmatic way)</em></strong><em> .</em></p><p><strong><em>Example :</em></strong></p><pre>import { useNavigate } from &quot;react-router-dom&quot;;<br><br>function LogoutButton() {<br>  const navigate = useNavigate();<br><br>  const handleLogout = () =&gt; {<br>    // navigate or redirect to home page <br>    navigate(&quot;/home&quot;);<br>  };<br><br>  return &lt;button onClick={handleLogout}&gt;Log Out&lt;/button&gt;;<br>}</pre><p><strong><em>Options &amp; Parameters :</em></strong></p><ol><li><strong><em>Number Based (History based Navigation ) :</em></strong></li></ol><pre>navigate(-1) // represent to previous page (one step backward)<br>navigate(-2) // represent to 2nd previous page (two step backward)<br>navigate(+1) // represent to next page (one step Forward)<br>navigate(+2) // represent to 2nd next page (two step Forward)</pre><p><strong><em>2. State :</em></strong><em><br> similar to Link state Attribute . It is used to pass data from one page to another page without showing in URL .</em></p><pre>navigate(&quot;/profile&quot;,{state :{ id:1, role :&quot;admin&quot;}})</pre><p><strong><em>3. replace (Boolean) :</em></strong><em><br> similarly Link Component replace attribute .</em></p><pre>navigate(&quot;/alone&quot;,{replace : true } )</pre><p><strong><em>2)What is Navigate :</em></strong></p><p><em>Navigate is a special react component . It is automatically redirect to their path page when it is rendered . Navigate component mostly used in conditional rendering .</em></p><p><strong><em>Attributes :</em></strong><em><br>same like Link Component such as to , replace , state .</em></p><p><strong><em>Example :</em></strong><em> when the user logout immediately redirect to login page .</em></p><pre>import { Navigate } from &quot;react-router-dom&quot;;<br><br>function ProtectedRoute({ isAuthenticated, children }) {<br>  if (!isAuthenticated) {<br>    // Redirects user to the login page immediately if not authenticated<br>    return &lt;Navigate to=&quot;/login&quot; replace={true} /&gt;;<br>  }<br><br>  return children;<br>}</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c37f7df30bc2" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Beyond useState: Mastering React State Management with useReducer & useContext ⚛]]></title>
            <link>https://medium.com/@developerarun01/beyond-usestate-mastering-react-state-management-with-usereducer-usecontext-1f90f3d16cf7?source=rss-22147b9c4d2d------2</link>
            <guid isPermaLink="false">https://medium.com/p/1f90f3d16cf7</guid>
            <category><![CDATA[global-state-management]]></category>
            <category><![CDATA[avoid-props]]></category>
            <category><![CDATA[usecontext]]></category>
            <category><![CDATA[usereducer]]></category>
            <dc:creator><![CDATA[Developerarun]]></dc:creator>
            <pubDate>Mon, 12 Oct 2026 05:22:15 GMT</pubDate>
            <atom:updated>2026-10-12T05:22:15.219Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FvYaTKBZt8Cg89tv_dEfTQ.png" /></figure><p><strong><em>Hey developers ! Have you ever wondered how to manage state more efficiently in React?</em></strong></p><p><strong><em>Too many props. Messy state. React chaos? Time to level up!</em></strong></p><p><em>Meet </em><strong><em>useReducer </em></strong><em>and</em><strong><em> useContext </em></strong><em>— the dynamic duo that makes state management cleaner, smarter, and more scalable. Let’s break down how they work together and take your React skills to the next level!</em></p><p><strong><em>what is useReducer?</em></strong></p><p><em>useReducer is a powerful built-in hook in react . That takes two arguments first one is reducer function and second one is initialState (initial value). It is used to complex state management .</em></p><p><em>yes , i knew useState hook was enough for simple state updates . but , when it comes to complex state logic , useState was very difficult to manage states . Therefore , the useReducer hook is best choice for complex state management .</em></p><p><em>Because useReducer hook follows redux architecture pattern concepts like state , Action , Reducer , Dispatch .</em></p><p><strong><em>useReducer architecture :</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*q2k6vlPqMaPHaSn_CNGlqw.png" /></figure><p><strong><em>Syntax :</em></strong></p><pre>const [state,dispatch]=useReducer(reducer,initialState);</pre><p><strong><em>The Four Pillars :</em></strong></p><ol><li><strong><em>State : </em></strong><em>Current data or value .</em></li><li><strong><em>Action :</em></strong><em> an object that describe what operation should happen ( Example : { type : “INCREMENT” } )</em></li><li><strong><em>Reducer : </em></strong><em>Reducer is a pure function that takes the current state and an action as input and return new state based on the action .</em></li><li><strong><em>Dispatch : </em></strong><em>Dispatch is a function that is used to trigger an action and send it to the reducer function</em></li></ol><p><strong><em>Example :</em></strong></p><ol><li><strong><em>Define Initial State &amp; Reducer Function :<br></em></strong><em>write a reducer function outsidet the component is a best practice.</em></li></ol><pre>// Initial State<br>const initialState = { count: 0 };<br><br>// Reducer Function<br>function counterReducer(state, action) {<br>  switch (action.type) {<br>    case &#39;INCREMENT&#39;:<br>      return { count: state.count + 1 };<br>    case &#39;DECREMENT&#39;:<br>      return { count: state.count - 1 };<br>    case &#39;SET_VALUE&#39;:<br>      return { count: action.payload }; <br>    case &#39;RESET&#39;:<br>      return initialState;<br>    default:<br>      return state; <br>  }<br>}</pre><p>2. <strong><em>Use useReducer inside Component :</em></strong></p><pre>import React, { useReducer } from &#39;react&#39;;<br><br>function Counter() {<br>  const [state, dispatch] = useReducer(counterReducer, initialState);<br><br>  return (<br>    &lt;div&gt;<br>      &lt;h1&gt;Count: {state.count}&lt;/h1&gt;<br>      <br>      {/* dispatch an Action */}<br>      &lt;button onClick={() =&gt; dispatch({ type: &#39;INCREMENT&#39; })}&gt;+&lt;/button&gt;<br>      &lt;button onClick={() =&gt; dispatch({ type: &#39;DECREMENT&#39; })}&gt;-&lt;/button&gt;<br>      &lt;button onClick={() =&gt; dispatch({ type: &#39;SET_VALUE&#39;, payload: 10 })}&gt;Set 10&lt;/button&gt;<br>      &lt;button onClick={() =&gt; dispatch({ type: &#39;RESET&#39; })}&gt;Reset&lt;/button&gt;<br>    &lt;/div&gt;<br>  );<br>}<br><br>export default Counter;</pre><p><strong><em>When should we use useReducer ?</em></strong></p><ol><li><em>Manage Complex Objects, Arrays, Nested State.</em></li><li><em>Complex state transition logic in one place.</em></li><li><em>Manage Multiple related states as a single object.</em></li></ol><p><strong><em>What is useContext ?</em></strong></p><p><em>useContext is a built-in hook in react . That allows developers to share and manage state globally without passing props down manually through every level . Simply avoid “ </em><strong><em>Prop Drilling </em></strong><em>”</em></p><p><strong><em>Define Prop Drilling :</em></strong></p><p><em>Prop drilling happen , when state need to be passed from root parent component to deeply nested child component by passing props down manually through every intermediate component level .</em></p><p><strong><em>The Three Core Steps :</em></strong></p><ol><li><strong><em>Create Context : </em></strong><em>Create data placeholder or pipeline using creatContext hook .</em></li></ol><p><strong><em>Example :</em></strong></p><pre>export const ThemeContext= createContext(null);</pre><p><strong><em>2. Provide Context : </em></strong><em>Passing the data into the pipeline and wrap the target component using provider property .</em></p><p><strong><em>Example :</em></strong></p><pre>&lt;ThemeContext.Provider value={{ theme, toggleTheme }}&gt;<br>      {children}<br>&lt;/ThemeContext.Provider&gt;</pre><p><strong><em>3. Consume Context : </em></strong><em>Extract and access data by using the useContext hook or consumer property .</em></p><p><strong><em>Example : Data access by using useContext hook :</em></strong></p><pre>const { theme, toggleTheme } = useContext(ThemeContext);</pre><p><strong><em>Data access by using .Consumer property:</em></strong></p><pre>&lt;ThemeContext.Consumer&gt;<br>      {({ theme, toggleTheme }) =&gt; (<br>        &lt;button <br>          onClick={toggleTheme}<br>          style={{<br>            backgroundColor: theme === &#39;light&#39; ? &#39;#fff&#39; : &#39;#333&#39;,<br>            color: theme === &#39;light&#39; ? &#39;#000&#39; : &#39;#fff&#39;,<br>            padding: &#39;10px 20px&#39;<br>          }}<br>        &gt;<br>          Current Theme: {theme.toUpperCase()}<br>        &lt;/button&gt;<br>      )}<br>    &lt;/ThemeContext.Consumer&gt;</pre><p><strong><em>The Best one for access the data :</em></strong></p><p><strong><em>useContext hook is better than .Consumer property . becaus useContext overcome major three problem had by .Consumer property .</em></strong></p><ol><li><strong><em>Avoids “Pyramid of Doom” (Callback Hell) :<br></em></strong><em>When a component needs to use multiple contexts (e.g., ThemeContext, UserContext, AuthContext), using </em><em>&lt;Context.Consumer&gt; forces the code into nested callbacks, resulting in a &#39;Pyramid of Doom.</em></li></ol><p><strong><em>Example :</em></strong></p><pre>// Pyramid of Doom - Callback Hell.<br>function UserDashboard() {<br>  return (<br>    &lt;ThemeContext.Consumer&gt;<br>      {(theme) =&gt; (<br>        &lt;UserContext.Consumer&gt;<br>          {(user) =&gt; (<br>            &lt;AuthContext.Consumer&gt;<br>              {(auth) =&gt; (<br>                &lt;div className={theme}&gt;<br>                  &lt;h1&gt;Hello, {user.name}&lt;/h1&gt;<br>                  &lt;p&gt;Role: {auth.role}&lt;/p&gt;<br>                &lt;/div&gt;<br>              )}<br>            &lt;/AuthContext.Consumer&gt;<br>          )}<br>        &lt;/UserContext.Consumer&gt;<br>      )}<br>    &lt;/ThemeContext.Consumer&gt;<br>  );<br>}</pre><pre>// Flat, clean, and readable <br>function UserDashboard() {<br>  const theme = useContext(ThemeContext);<br>  const user = useContext(UserContext);<br>  const auth = useContext(AuthContext);<br><br>  return (<br>    &lt;div className={theme}&gt;<br>      &lt;h1&gt;Hello, {user.name}&lt;/h1&gt;<br>      &lt;p&gt;Role: {auth.role}&lt;/p&gt;<br>    &lt;/div&gt;<br>  );<br>}</pre><p><strong><em>2. No Render Props Boilerplate Required :<br></em></strong><em>Using </em><strong><em>&lt;Context.Consumer&gt; </em></strong><em>requires passing a render function inside the component, which introduces extra boilerplate code.</em></p><p><em>With </em><strong><em>useContext</em></strong><em> , function wrappers are unnecessary, allowing you to access variables directly</em><strong><em> ( eg : const theme = useContext(ThemeContext) ).</em></strong></p><p><strong><em>3. Better Integration with Custom Hooks :<br></em></strong><em>The biggest power of </em><strong><em>useContext </em></strong><em>is that we can create custom hooks to wrap the context logic, making it fully reusable.</em></p><p><em>For example, we can create a custom hook to manage the authentication state</em></p><pre>function useAuth() {<br>  return useContext(AuthContext);<br>}<br><br>// Use it anywhere in a single line:<br>const { user, login, logout } = useAuth();</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1f90f3d16cf7" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Beyond the Basics : Mastering 6 Powerful React Hooks for Cleaner & Faster Apps]]></title>
            <link>https://medium.com/@developerarun01/why-your-react-app-is-lagging-decoding-the-matrix-of-performance-hooks-566a48ec949a?source=rss-22147b9c4d2d------2</link>
            <guid isPermaLink="false">https://medium.com/p/566a48ec949a</guid>
            <category><![CDATA[useimperativehandle]]></category>
            <category><![CDATA[usememo]]></category>
            <category><![CDATA[useref]]></category>
            <category><![CDATA[useeffect]]></category>
            <category><![CDATA[usecallback]]></category>
            <dc:creator><![CDATA[Developerarun]]></dc:creator>
            <pubDate>Fri, 09 Oct 2026 09:25:03 GMT</pubDate>
            <atom:updated>2026-10-12T06:11:59.962Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iO5CrzEOWij5XpPGj1q6gA.png" /></figure><p><em>Hey friends ! Welcome back. Today in our blog, we are going to dive deep into those five essential utilities that often slow down React apps. Whether you are a beginner or an experienced developer, understanding the hidden behaviors and tricks behind these hooks is super important. Let’s dive right in!</em></p><p><strong><em>what is useEffect ?</em></strong><em><br>useEffect is a react built-in hook . That takes two arguments , the first one is callback function and second one is optional dependency array. It takecares of side effects inside the component.</em></p><p><strong><em>Syntax :</em></strong></p><pre>import { useEffect } from &#39;react&#39;;<br><br>useEffect(() =&gt; {<br>  // 1. Setup / Effect code (Executes after render)<br><br>  return () =&gt; {<br>    // 2. Cleanup function (Executes before unmount or before re-running effect)<br>  };<br>}, [/* 3. Dependency Array */]);</pre><p><strong><em>various behavior of useEffect hook:</em></strong><em><br> 1.Infinite loop<br> 2.on Mount<br> 3.on Unmount<br> 4.on Change of a state or props</em></p><ol><li><strong><em>Infinite Loop :(Initial Render + Every Re-render)</em></strong><em><br>If you want to execute anything infinitely inside a component, you write a useEffect hook without a dependency array.</em></li></ol><p><strong><em>Example :</em></strong></p><pre>import { useState, useEffect } from &#39;react&#39;;<br><br>function LoggerComponent() {<br>  const [count, setCount] = useState(0);<br><br>  useEffect(() =&gt; {<br>    console.log(&quot;Component rendering! Count value:&quot;, count);<br>  }); <br><br>  return (<br>    &lt;button onClick={() =&gt; setCount(count + 1)}&gt;<br>      Count: {count}<br>    &lt;/button&gt;<br>  );<br>}<br></pre><p><strong><em>2.On Mount : </em></strong><em><br>Mounting is nothing but adding an HTML element as a node in the real DOM. If you want to execute anything once while mounting a component, you write a useEffect hook with an empty dependency array.</em></p><p><strong><em>Example:</em></strong></p><pre>import { useState, useEffect } from &#39;react&#39;;<br><br>function SimpleMountDemo() {<br>  useEffect(() =&gt; {<br>    console.log(&quot;Component mount successfully!&quot;);<br>  }, []);<br><br>  return &lt;h2&gt;Hello React Learners!&lt;/h2&gt;;<br>}</pre><p><strong><em>3.On unmount :</em></strong><em><br>Unmounting is simply the process of removing a specific and existing HTML node from the real DOM. If you want to execute code once when a component unmounts, you write a useEffect hook with an empty dependency array and return a cleanup function.</em></p><p><strong><em>Example :</em></strong></p><pre>import { useState, useEffect } from &#39;react&#39;;<br><br>function SimpleUnmountDemo() {<br>  useEffect(() =&gt; {<br>    console.log(&quot;Component Mounted&quot;);<br> <br>    return () =&gt; {<br>      console.log(&quot;Component Unmounted&quot;);<br>    };<br>  }, []);<br><br>  return &lt;h2&gt;Check your console while unmounting!&lt;/h2&gt;;<br>}</pre><p><strong><em>4.On Change of a state or props :</em></strong><em><br>If you want to execute anything once on initial mount and re-triggers only if one or more dependent variables change . you write a useEffect hook with specific Dependencies( dependent variables).Dependencies must be state or props.</em></p><p><strong><em>Example:</em></strong></p><pre>import { useState, useEffect } from &#39;react&#39;;<br><br>function CounterWatcher() {<br>  const [count, setCount] = useState(0);<br><br>  useEffect(() =&gt; {<br>    console.log(`Count variable: ${count}`);<br>  }, [count]);<br><br>  return (<br>    &lt;button onClick={() =&gt; setCount(count + 1)}&gt;<br>      Increase: {count}<br>    &lt;/button&gt;<br>  );<br>}</pre><p><strong><em>What is UseRef ?</em></strong><em><br>useRef is a react built-in hook . That return mutable object with .current property . It is used to store data and doest not trigger component re-render when it is changed.</em></p><p><strong><em>Syntax </em></strong><em>:</em></p><pre>const myRef = useRef(initialValue);</pre><p><strong><em>Mutable Object return by the UseRef for reference :</em></strong></p><pre>{<br>  current: initialValue<br>}</pre><p><em>we can read and mutate the .current property in this object whenever we need.</em></p><p><strong><em>Example :</em></strong></p><pre>import React, { useEffect, useRef } from &#39;react&#39;<br><br>const AutoFocusInput = () =&gt; {<br>    const inputRef=useRef(null);<br> <br>    useEffect(()=&gt;{<br>    inputRef.current.focus();<br>    },[])<br><br>  return (<br>    &lt;&gt;<br>      &lt;input type=&#39;text&#39; ref={inputRef}/&gt;<br>    &lt;/&gt;<br>  )<br>}<br><br>export default AutoFocusInput;</pre><p><strong><em>what is useMemo?</em></strong></p><p><em>useMemo is a react built-in hook . It takes two arguments first one is Function and second one is dependency array.react calls this function on initial render and re-runs it only when one of the dependencies changes . It return only last momized value . useMemo memoizes a Single value that was result of expensive calculation .</em></p><p><strong><em>syntax :</em></strong></p><pre>const cachedValue = useMemo(() =&gt; {<br>  // Perform an expensive calculation and return the value<br>  return computeExpensiveValue(a, b);<br>}, [a, b]);</pre><p><em>If we want to perform an expensive calculation only on the initial render, we use </em><strong><em>useMemo </em></strong><em>with an empty dependency array.</em></p><p><strong><em>Example:</em></strong></p><pre>import { useState, useMemo } from &#39;react&#39;;<br><br>function ProductList({ items }) {<br>  const [search, setSearch] = useState(&#39;&#39;);<br>  const filteredItems = useMemo(() =&gt; {<br>    return items.filter(item =&gt; item.name.includes(search));<br>  }, [items, search]);<br><br>  return (<br>    &lt;div&gt;<br>      &lt;input value={search} onChange={(e) =&gt; setSearch(e.target.value)} /&gt;<br>      {filteredItems.map(item =&gt; &lt;p key={item.id}&gt;{item.name}&lt;/p&gt;)}<br>    &lt;/div&gt;<br>  );<br>}</pre><p><strong><em>What is useCallback ?</em></strong></p><p><em>useCallBack is a react built-in hook . That memoizes a function reference between re-renders to prevent child component from re-rendering unnecessarily.</em></p><p><strong><em>Syntax :</em></strong></p><pre>const cachedFn = useCallback(() =&gt; {<br>  // Function logic goes here<br>  doSomething(a, b);<br>}, [a, b]);</pre><p><strong><em>Example:</em></strong></p><pre>import { useState, useCallback } from &#39;react&#39;;<br><br>function ParentComponent() {<br>  const [count, setCount] = useState(0);<br>  const handleDelete = useCallback(() =&gt; {<br>    console.log(&quot;Item deleted&quot;);<br>  }, []);<br><br>  return (<br>    &lt;div&gt;<br>      &lt;button onClick={() =&gt; setCount(count + 1)}&gt;Count: {count}&lt;/button&gt;<br>      &lt;ChildComponent onDelete={handleDelete} /&gt;<br>    &lt;/div&gt;<br>  );<br>}</pre><p><strong><em>what is Memo ?</em></strong></p><p><em>Memo is also react buil-in hook . It similar to useMemo and useCallback hooks but it memoizes an entire Component .</em></p><p><strong><em>Syntax :</em></strong></p><pre>import { memo } from &#39;react&#39;;<br><br>const MemoizedComponent = memo(function MyComponent(props) {<br>  return &lt;div&gt;{props.value}&lt;/div&gt;;<br>});<br><br>export default MemoizedComponent;</pre><p><em>hooks like useMemo , useCallback and memo are becoming less necessary. Starting with React 19 , the new React Compiler handles this optimization automatically, so developers no longer need to do it manually.</em></p><p><strong><em>What is useImperativeHandle?</em></strong></p><p><em>In react, data normally flows only from </em><strong><em>Parent to Child</em></strong><em> using props. A parent component cannot directly call functions or control things inside a child component.</em></p><p><em>Sometimes, you need the parent to directly control a child component (like focusing an input box or scrolling to an element). This is where </em><strong><em>useImperativeHandle </em></strong><em>comes in.</em></p><p><em>It is a React Hook that lets a child component give a custom set of functions (methods) to its parent component through a ref.</em></p><p><strong><em>Syntax :</em></strong></p><pre>useImperativeHandle(ref, createHandle, dependencies?)</pre><ul><li><strong><em>ref : </em></strong><em>The ref coming from the parent component.</em></li><li><strong><em>createHandle :</em></strong><em> A function that returns an object containing the methods you want to give to the parent.</em></li><li><strong><em>dependencies : </em></strong><em>Optional array of values</em></li></ul><p><strong><em>Child Component (Myinput.js)</em></strong></p><pre>import { useRef, useImperativeHandle } from &#39;react&#39;;<br><br>function MyInput({ ref }) {<br>  const inputRef = useRef(null);<br><br>  useImperativeHandle(ref, () =&gt; ({<br>    focus() {<br>      inputRef.current.focus();<br>    }<br>  }), []);<br><br>  return &lt;input ref={inputRef} placeholder=&quot;Type something...&quot; /&gt;;<br>}<br><br>export default MyInput;</pre><p><strong><em>Parent Component (App.js)</em></strong></p><pre>import { useRef } from &#39;react&#39;;<br>import MyInput from &#39;./MyInput.js&#39;;<br><br>export default function App() {<br>  const inputRef = useRef(null);<br><br>  const handleClick = () =&gt; {<br>    inputRef.current.focus();<br>  };<br><br>  return (<br>    &lt;div&gt;<br>      &lt;MyInput ref={inputRef} /&gt;<br>      &lt;button onClick={handleClick}&gt;Focus the Input&lt;/button&gt;<br>    &lt;/div&gt;<br>  );<br>}</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=566a48ec949a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[React Essentials]]></title>
            <link>https://medium.com/@developerarun01/react-essentials-f257e41ab7d3?source=rss-22147b9c4d2d------2</link>
            <guid isPermaLink="false">https://medium.com/p/f257e41ab7d3</guid>
            <category><![CDATA[compomnent]]></category>
            <category><![CDATA[reconciliation]]></category>
            <category><![CDATA[fragments]]></category>
            <category><![CDATA[conditional-rendering]]></category>
            <category><![CDATA[react-jsx]]></category>
            <dc:creator><![CDATA[Developerarun]]></dc:creator>
            <pubDate>Sat, 03 Oct 2026 05:30:26 GMT</pubDate>
            <atom:updated>2026-10-03T05:30:26.085Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*nTFe4Ezf4Klp8HEiUyqCWQ.png" /></figure><p><strong><em>what is React?</em></strong><em><br> React is a javascript library for building user interface in web application . Component based architecture .<br>and it is mainly used for Building a Single page Application . It was developed by Facebook(Meta).</em></p><p><em>In this blog ,we will learn about basic react concept one by one .</em></p><p><strong><em>Definition Of Library:</em></strong><em><br> Library is a collection pre-written reusable code (utilities collection) that used to build application faster. If you build application by using library then the application flow controlled by developer.</em></p><p><em>Example : React.js, Axios , Lodash.<br> <br></em><strong><em>definition Framework:</em></strong><em><br> Framework provides a Complete architecture for build application . where application flow control by framework . Because Framework works based on </em><strong><em>“Inversion of control”</em></strong><em> mechanism which means i give the control ,the framework decides to when to call my code . developer must follow the rules and folder structure that instructed by framework.</em></p><p><em>Example : Angular, Next.js , Django.</em></p><p><strong><em>what is JSX?</em></strong><em><br>Jsx means javascript XML that allows you to write a Html within a javascript .</em></p><pre>import React from &#39;react&#39;;<br><br>const Greeting = () =&gt; {<br>  const name = &quot;Arun&quot;;<br>  return &lt;h1&gt;Hello, {name}&lt;/h1&gt;;<br>};<br><br>export default Greeting;</pre><p><strong><em>Rendering &amp; Conditional Rendering :</em></strong><em><br>Rendering is nothing but display the content in UI. Conditional rendering refers to display the content in UI based on the condition.<br>Example :</em></p><pre>import React, { useState } from &#39;react&#39;;<br><br>//Using Ternary Operator.<br>const Status = () =&gt; {<br>  const [isLoggedIn, setIsLoggedIn] = useState(false);<br><br>  return (<br>    &lt;&gt;<br>      {isLoggedIn ? &lt;p&gt;Welcome Back&lt;/p&gt; : &lt;p&gt;Please Login&lt;/p&gt;}<br>      &lt;button onClick={() =&gt; setIsLoggedIn(!isLoggedIn)}&gt;<br>        {isLoggedIn ? &#39;Logout&#39; : &#39;Login&#39;}<br>      &lt;/button&gt;<br>    &lt;/&gt;<br>  );<br>};<br><br>export default Status;<br><br><br>//Using &amp;&amp; Operator.<br>const Notification = () =&gt; {<br>  const [hasNewMessage, setHasNewMessage] = useState(true);<br><br>  return (<br>    &lt;&gt;<br>      {hasNewMessage &amp;&amp; &lt;p&gt;You have a new message!&lt;/p&gt;}<br>      <br>      &lt;button onClick={() =&gt; setHasNewMessage(!hasNewMessage)}&gt;<br>        Toggle Message<br>      &lt;/button&gt;<br>    &lt;/&gt;<br>  );<br>};<br><br>export default Notification;</pre><p><strong><em>What is Component?</em></strong><em><br>Component means reusable and independent piece of code that represent part of UI . Component name must be PascalCase.</em></p><p><strong><em>Example:</em></strong></p><pre>Function ProductCard() { <br>return &lt;h1&gt;product card &lt;/h1&gt;<br>}</pre><p><strong><em>Avoid this ,</em></strong></p><pre>Function productCard() { <br>return &lt;h1&gt;product card &lt;/h1&gt;<br>}</pre><p><em>Becase,if you use camelcase react assume as that is html attribute instead of component .</em></p><p><strong><em>How Browser Understand React :</em></strong><em><br> React can not directly understand by browser . Browser only understand html,css,js.Browser understand the react with the help of babel Compiler .The Babel complier convert your react code into js object.</em></p><p><strong><em>What is Fragments? </em></strong><em><br>Fragments is a type of wrapper element that used to group ,multiple react elements.<br></em><strong><em>Examples:</em></strong></p><pre>function UserProfile() {<br>  return (<br>    &lt;&gt;<br>      &lt;h2&gt;Arun Kumar&lt;/h2&gt;<br>      &lt;p&gt;Frontend Developer&lt;/p&gt;<br>    &lt;/&gt;<br>  );<br>}<br><br>export default UserProfile;</pre><pre>export default function Blog() {<br>  return posts.map(post =&gt;<br>    &lt;Fragment key={post.id}&gt;<br>      &lt;PostTitle title={post.title} /&gt;<br>      &lt;PostBody body={post.body} /&gt;<br>    &lt;/Fragment&gt;<br>  );<br>}</pre><p>The last one used when we need key prop or we use List / Mapping.</p><p><strong><em>why we use fragements?</em></strong><em><br> React component return only one element . if we need to return multiple element then we should be any wrapper element or container element.generally developer use &lt;div&gt; element for wrapping multiple element . but , where the problem was additionaly add one node in DOM structure .it leads to CSS conflict .</em></p><p><strong><em>Example:</em></strong></p><pre>&lt;div clssName:&quot;container&quot;&gt;<br>    &lt;div&gt;<br>        &lt;h1&gt;hi&lt;/h1&gt;<br>        &lt;p&gt;hello&lt;/p&gt;<br>    &lt;/div&gt;<br>&lt;/div&gt;</pre><pre>.container { <br>display :flex; <br>}</pre><p><strong><em>Reconsilation :</em></strong><em><br> Reconsilations is a mechanism used to improve the application performence by minimize the DOM updates.<br></em><strong><em>Work-Flow:</em></strong><em><br>React create new virtual DOM when state or props change .After that react compare the current virtual DOM with previous virtual DOM and find the exact changes. Finally , make only that specific changes in real DOM.</em></p><p><strong><em>SPA:</em></strong><em><br> SPA means Single Page application. Where load only one html page (index.html).It is used to move or navigate from one web page to another web page without page reload.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f257e41ab7d3" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Level Up Your React Skills: State, Hooks, Props & Utils Simplified]]></title>
            <link>https://medium.com/@developerarun01/level-up-your-react-skills-state-hooks-props-utils-simplified-1214c095ae15?source=rss-22147b9c4d2d------2</link>
            <guid isPermaLink="false">https://medium.com/p/1214c095ae15</guid>
            <category><![CDATA[utility-function]]></category>
            <category><![CDATA[hooks]]></category>
            <category><![CDATA[props]]></category>
            <category><![CDATA[state]]></category>
            <dc:creator><![CDATA[Developerarun]]></dc:creator>
            <pubDate>Sat, 03 Oct 2026 04:59:39 GMT</pubDate>
            <atom:updated>2026-10-03T04:59:39.641Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*q5T4KDDQ6Pa3yQ8auOJlLQ.png" /></figure><p><em>In this blog , we will break down how to manage component data, pass props effectively, and write clean, reusable logic with simple code examples .</em></p><p><strong><em>What is state?</em></strong><em><br> State managed within a component that holds data that can change over time .state fully controlled by component . The component to re-render when update.</em></p><p><strong><em>How to use State?</em></strong><em><br>In react , state was handled by useState hook.</em></p><p><strong><em>Syntax:</em></strong></p><pre>// 1. Text Input<br>const [text, setText] = useState(&#39;Arun&#39;);<br><br>// 2. Number Input (Initial value: 0 or empty string)<br>const [number, setNumber] = useState(0);<br><br>// 3. Checkbox (Initial value: false)<br>const [isChecked, setIsChecked] = useState(false);<br><br>// 4. Select Dropdown (Initial value: default option string)<br>const [selectedOption, setSelectedOption] = useState(&#39;Option1&#39;);<br><br>// 5. Radio Button (Initial value: default selected value)<br>const [radioValue, setRadioValue] = useState(&#39;Male&#39;);</pre><p><em>For Syntax Clarification :<br>const → container;<br>text → variable that hold value; <br>setText → Function used to update state value; <br>Arun → Initial value;</em></p><p><strong><em>What is Hooks?</em></strong><em><br>Hooks are special functions that allows functional component to use react features like state and lifecycle-related behaviour. That return something like variable , Function , object ,etc…<br>Example : useState , useEffect , useContext , useRef , usememo , useCallback.</em></p><p><strong><em>What is Props :</em></strong><em><br>Props is an object that is used to pass data from parent component to child component .props was read-only. we can’t directly change the props data in child component.props data or value accessed via two methods</em></p><p><strong><em>By using Dot Notation :</em></strong></p><pre>import React from &#39;react&#39;;<br><br>// Parent Component<br>function App() {<br>  return &lt;UserCard name=&quot;Arun&quot; age={25} /&gt;;<br>}<br><br>// Child Component<br>function UserCard(props) {<br>  return (<br>    &lt;div&gt;<br>      &lt;h3&gt;Name: {props.name}&lt;/h3&gt;<br>      &lt;p&gt;Age: {props.age}&lt;/p&gt;<br>    &lt;/div&gt;<br>  );<br>}<br><br>export default App;</pre><p><strong><em>By using Destructuring Method :</em></strong></p><pre>import React from &#39;react&#39;;<br><br>// Parent Component<br>function App() {<br>  return &lt;UserCard name=&quot;Arun&quot; age={25} /&gt;;<br>}<br><br>// Child Component (Destructuring in parameters)<br>function UserCard({ name, age }) {<br>  return (<br>    &lt;div&gt;<br>      &lt;h3&gt;Name: {name}&lt;/h3&gt;<br>      &lt;p&gt;Age: {age}&lt;/p&gt;<br>    &lt;/div&gt;<br>  );<br>}<br>export default App;</pre><p><strong><em>Utility Function :</em></strong><em><br>Utility function means reusable helper function for perform specific task .that return any value .Usually, this function is written in a .js or .ts file within the utils folder.</em></p><pre>export function formatPrice(price) {<br>  return `${price.toFixed(2)}`;<br>}</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1214c095ae15" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Secret Life of JavaScript Variables]]></title>
            <link>https://medium.com/@developerarun01/the-secret-life-of-javascript-variables-db304a3422e0?source=rss-22147b9c4d2d------2</link>
            <guid isPermaLink="false">https://medium.com/p/db304a3422e0</guid>
            <category><![CDATA[javascript-data-type]]></category>
            <category><![CDATA[non-primitive-datatypes]]></category>
            <category><![CDATA[primitive-data-types]]></category>
            <dc:creator><![CDATA[Developerarun]]></dc:creator>
            <pubDate>Fri, 21 Aug 2026 07:28:54 GMT</pubDate>
            <atom:updated>2026-08-21T07:28:54.230Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ral-d-wI8qC0MW_tbgRsWg.png" /></figure><p><strong><em>Primitive Data Types :</em></strong><em><br> Primitive data types are predefined data types provided by JavaScript .It will be immutable and single values.</em></p><p><strong><em>Types :</em></strong></p><ol><li><strong><em>Number : </em></strong><em><br> Number data type hold both positive and negative values also decimal &amp; non-decimal values and NaN.</em></li></ol><pre>let Age = 24;                 // Integer<br>let Price = 199.99;           // Decimal<br>let Calculation = &quot;abc&quot; / 2;  // NaN </pre><p><strong><em>2.String : </em></strong><em><br> String data type refers to sequence of characters. It hold any values which enclosed by single , double or back tic quotes.</em></p><pre>let name = &quot;Vijay&quot;;<br>let greeting = &#39;Hello, &#39; + vijayName;<br>let templateString = `Welcome back, ${name}!`; // Using backticks</pre><p><strong><em>3.boolean : </em></strong><em><br> Boolean data type hold only true or false.</em></p><pre>let kishoreIsOnline = true;<br>let taskCompleted = false;</pre><p><strong><em>4.Null : </em></strong><em><br> Null data type hold only one value which is null . Null means Empty value.It is provided by the developer</em></p><pre>let kalaiCurrentProject = null; // Empty</pre><p><strong><em>5.Undefined : </em></strong><em><br> Undefined data type similar to null data type .It represent variable has been declared but has not been assigned any value. undefined is</em><strong><em> </em></strong><em>provided by the JavaScript.</em></p><pre>let sanjayScore; <br>console.log(sanjayScore); // Output: undefined</pre><p><strong><em>6.BigInt : </em></strong><em><br> BigInt is a numeric primitive type formed by appending an “n” to the tail of an integer literal.</em></p><pre>let BigId = 9007199254740991n;</pre><p><strong><em>Non-Primitive Data Types :<br> </em></strong><em>Non-primitive data types are objects and derived data types . They can store collections of values . The two key non-primitive data types in JavaScript</em></p><p><em>There are <br> 1.Objects. 2.Array.</em></p><p><strong><em>1.Objects :</em></strong><em><br>Objects is nothing but is a thing .It is a collection of key-value pairs where keys map to values and its properties store references (memory addresses) pointing to where those values are located in memory.</em></p><pre>let arunProfile = {<br>  name: &quot;Arun&quot;,<br>  role: &quot;Frontend Developer Engineer&quot;,<br>  isActive: true<br>};</pre><p><strong><em>2. Array :</em></strong><em><br>Array is collection values accessed by their index. Array is indices based (zero-indexed). index is nothing but position value of actual value .</em></p><pre>let arunFriends = [&quot;Vijay&quot;, &quot;Kishore&quot;, &quot;Kalai&quot;, &quot;Sanjay&quot;, &quot;Praveen&quot;];<br><br>console.log(arunFriends[0]); // Output: &quot;Vijay&quot; (at index 0)<br>console.log(arunFriends[2]); // Output: &quot;Kalai&quot; (at index 2)</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=db304a3422e0" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Team Dynamics]]></title>
            <link>https://medium.com/@developerarun01/team-dynamics-53b036452e87?source=rss-22147b9c4d2d------2</link>
            <guid isPermaLink="false">https://medium.com/p/53b036452e87</guid>
            <category><![CDATA[team-dynamics]]></category>
            <category><![CDATA[working-together]]></category>
            <category><![CDATA[teamwork]]></category>
            <dc:creator><![CDATA[Developerarun]]></dc:creator>
            <pubDate>Sat, 01 Aug 2026 05:19:18 GMT</pubDate>
            <atom:updated>2026-08-01T05:19:18.410Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9qk_mIRIz8bhrA-DE628DQ.jpeg" /></figure><p><strong><em>What is mean by Group ?</em></strong><em><br> A Group means number of people or things located in one place (same place) without unified , interdependent goal.</em></p><p><strong><em>Example :</em></strong><em> Passengers travel together on a bus but each passenger has own reason for travelling</em></p><p><strong><em>What is mean by Team ?</em></strong><em><br>A Team means group of people work together to achive specific , common goal. Every individuals work for same final outcome. Team need shared goal , co-operation and helps to each other.</em></p><p><strong><em>Example : Cricket Team</em></strong><em> </em><strong><em>→</em></strong><em> 11 Players playing together to win the Trophy or Championship</em></p><p><strong><em>Components :</em></strong></p><p><em>To build a strong software team, you need more than just technical skills you need solid team dynamics. Here are the seven core components that help developers work together seamlessly as one unit.</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*bdhfby3D1c2g-Lh0wjomIg.jpeg" /></figure><p><strong><em>1.Communication</em></strong></p><p><em>In a Software team communication is not about sitting endless status meeting. It’s about sharing complex technical context as simply and clearly to team complex will be slack messages or pull request comments, the goal is to gives your teammates pure clarity without any noise</em></p><p><strong><em>2.Task &amp; cohesion</em></strong></p><p><em>Cohesion means the team operate as single unit rather than the group of isolated developers . When deadline gets tight, production break, teammates step into unlock ( helps ) to each other instead of escape from problem. If sprint fails they focus ok fixing the problem instead of pointing or blaming others</em></p><p><strong><em>3.Unspoken Rules → who are you ?</em></strong></p><p><em>A high-performing team requires a Thinker, a Doer, a Supporter, and a Checker. To be an effective team player, which of these people would you be ?</em></p><ol><li><strong><em>Thinker : </em></strong><em>The person who</em><strong><em> generate ideas</em></strong><em> , </em><strong><em>prepare the plan</em></strong><em> and solve the complex and tough problems.</em></li></ol><blockquote><strong><em>“ What to do? how to do ?”</em></strong></blockquote><p><strong><em>2. Doer : </em></strong><em>The person who takes </em><strong><em>Actions , Steps</em></strong><em> and work hard ( Being Both Smart and hard worker ). <br>example : gives full potential for complete their project within deadline.</em></p><blockquote><strong><em>“ Takes Actions &amp; Executing Quickly ”</em></strong></blockquote><p><strong><em>3. Supporter :</em></strong><em> The person who helps to team , keeps people happy and cheers everyone.</em></p><blockquote><strong><em>“ Team Work &amp; Encourage to everyone”</em></strong></blockquote><p><strong><em>4. Checker : </em></strong><em>The person who checks and verify the work of team members , find the mistakes and ensure everything is perfect.</em></p><blockquote><strong><em>“ Details &amp; Quality ”</em></strong></blockquote><p><strong><em>4.Conflict Resolution</em></strong></p><p><em>Technical disagreements will happen, but they should never become personal. a great team attack the problem together by asking how to fix the code, not the person who made the mistake. This approach builds trust and helps the team solve complex challenges faster.</em></p><blockquote><strong><em>“ Attack the problem, never the person ”</em></strong></blockquote><p><strong><em>5.Leadership</em></strong></p><p><em>Engineering leadership is not about micromanaging screen time or demanding constant updates from engineers. <br>It’s about act as shield → filtering our unnecessary noise, removing technical blockers , create a safe environment</em></p><p><strong><em>6.Goal Alignment</em></strong></p><p><em>Developer should not copy &amp; paste requirements from jira-tickets without knowing why? <br>When the entire team understand the business context and how to their code impact real users.<br>It helps team make better and smarter instead of rushing to complete the task</em></p><p><strong><em>7.Adaptability</em></strong></p><p><em>In software, things change constantly → plan shift, bugs popup and code breaks . A greater team doesn’t panic when something goes wrong they stay calm, adjust to new situation and work together to final solution</em></p><p><strong><em>Mind Set Shifts :</em></strong></p><p><strong><em>1. Shift from “ I ” to “ WE ” : </em></strong><em>During the presentation , Describe projects Success </em><strong><em>“ Our Team Achived…… ” </em></strong><em>rather than </em><strong><em>“ I did Everything ”</em></strong></p><p><strong><em>2. Constructive Feedback :</em></strong><em> Turn negative comments and feedback into positive ones. Instead of Saying </em><strong><em>“ That is wrong ”</em></strong><em> , Say </em><strong><em>“ That was Nice try Lets see how we can make it better ”</em></strong></p><p><strong><em>3. Psychological Safety : </em></strong><em>Create a workplace , where everyone feel okey and asking question and make mistakes without being judged.</em></p><blockquote><strong><em>“ Great things in business are never done by one person , They are done by a team of people ”<br> </em>— Steve Jobs</strong></blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=53b036452e87" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Who Are You vs What Can You Do?]]></title>
            <link>https://medium.com/@developerarun01/who-are-you-vs-what-can-you-do-cf5717b7d2a1?source=rss-22147b9c4d2d------2</link>
            <guid isPermaLink="false">https://medium.com/p/cf5717b7d2a1</guid>
            <category><![CDATA[small-story]]></category>
            <category><![CDATA[authorization]]></category>
            <category><![CDATA[authentication]]></category>
            <category><![CDATA[realtime]]></category>
            <dc:creator><![CDATA[Developerarun]]></dc:creator>
            <pubDate>Tue, 28 Jul 2026 13:53:58 GMT</pubDate>
            <atom:updated>2026-07-28T13:53:58.581Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QD5Fu_DjoaYE-rNShJ5t1A.png" /></figure><p><em>One day, me and my friends went to the airport . Before entering into airport my friends raise a question the question is thousand of people visit airport daily .so whoever can travel in Flight or easy to Hijack flight right?<br>i replayed to them you are totally wrong because look around safety guards standing with guns in all entrance and every Luggage scanned via X-ray scanner and also everyone allows only via metal detector, some places cannot accessed without fingerprint or staff id .Totally the whole airport secured by various security mechanism.<br>security is not only one method or technique it is multiple mechanism work together for protect anything<br>And then we go to </em><strong><em>Check-in Counter</em></strong><em> where </em><strong><em>verification officer</em></strong><em> asked </em><strong><em>passport &amp; boarding pass </em></strong><em>to me . after verifying my passport &amp; Boarding pass the officer told to me you are permitted and you go. This process called authentication <br></em><strong><em>“ Authentication is responsible for Determine who you are? ”</em></strong><em><br>After that my friends tried to enter in Cockpit(Flight deck) of the aircraft but the officer block them and said pilot &amp; Crew members are only allowed to enter inside cockpit you are not permitted this is called authorization <br></em><strong><em>“ authorization is what are you allowed to do? ”</em></strong></p><p><em>The same thing happens in websites like Gmail, Instagram, Netflix, and Amazon. When you try to log in the website first checks </em><strong><em>who you are</em></strong><em> by verifying your email by your username &amp; password. This process is called </em><strong><em>authentication</em></strong><em>. After that the website decides </em><strong><em>what you are allowed to do</em></strong><em>. For example, an admin can manage all users and settings while a regular user can only access and manage their own account. This process is called </em><strong><em>authorization</em></strong><em>. Even though all of them have successfully proved their identity through authentication, they have different levels of access. This difference in access is called </em><strong><em>authorization</em></strong><em>.</em></p><h3>Technical Definitions</h3><ul><li><strong><em>Security:</em></strong><em> Security is the practice of protecting people, systems, data, and resources from unauthorized access, attacks, damage, or misuse.</em></li><li><strong><em>Authentication:</em></strong><em> Authentication is the process of verifying the identity of a user, device, or system before granting access.</em></li><li><strong><em>Authorization:</em></strong><em> Authorization is the process of determining what resources or actions an authenticated user is permitted to access or perform.</em></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=cf5717b7d2a1" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>