<?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>Forem: Usman Butt</title>
    <description>The latest articles on Forem by Usman Butt (@usman_butt_dev).</description>
    <link>https://forem.com/usman_butt_dev</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%2F3376466%2F8e29de1c-3282-42d3-8dcc-4bb954d81afa.jpeg</url>
      <title>Forem: Usman Butt</title>
      <link>https://forem.com/usman_butt_dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/usman_butt_dev"/>
    <language>en</language>
    <item>
      <title>Day 10–12 of My React Journey – Context API</title>
      <dc:creator>Usman Butt</dc:creator>
      <pubDate>Wed, 20 Aug 2025 19:43:06 +0000</pubDate>
      <link>https://forem.com/usman_butt_dev/day-10-12-of-my-react-journey-context-api-14g1</link>
      <guid>https://forem.com/usman_butt_dev/day-10-12-of-my-react-journey-context-api-14g1</guid>
      <description>&lt;p&gt;Days 10–12, I focused on &lt;strong&gt;React Context API&lt;/strong&gt;, which provides a way to manage state globally in a React app.  &lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Created a &lt;code&gt;Context&lt;/code&gt; object using &lt;code&gt;createContext()&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Built a &lt;strong&gt;Context Provider&lt;/strong&gt; that wrapped child components and passed values
&lt;/li&gt;
&lt;li&gt;Used &lt;code&gt;useContext&lt;/code&gt; to consume values in another component
&lt;/li&gt;
&lt;li&gt;Practiced sending values from &lt;strong&gt;Component One&lt;/strong&gt; ➝ consuming them in &lt;strong&gt;Component Two&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Context API?
&lt;/h2&gt;

&lt;p&gt;Normally, React apps require &lt;strong&gt;prop drilling&lt;/strong&gt; to send data down through multiple components. Context API removes that complexity by creating a &lt;strong&gt;global store&lt;/strong&gt; that any component can access.  &lt;/p&gt;

&lt;p&gt;This makes it perfect for:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Theme switching &lt;/li&gt;
&lt;li&gt;Authentication &amp;amp; user data
&lt;/li&gt;
&lt;li&gt;Global app settings
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tech Used
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;React
&lt;/li&gt;
&lt;li&gt;Context API (&lt;code&gt;createContext&lt;/code&gt;, &lt;code&gt;useContext&lt;/code&gt;)
&lt;/li&gt;
&lt;/ul&gt;




</description>
      <category>webdev</category>
      <category>react</category>
      <category>learning</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Day 8-9 of My React Journey — React Router Basics</title>
      <dc:creator>Usman Butt</dc:creator>
      <pubDate>Sun, 17 Aug 2025 21:00:05 +0000</pubDate>
      <link>https://forem.com/usman_butt_dev/day-8-9-of-my-react-journey-react-router-basics-3cbe</link>
      <guid>https://forem.com/usman_butt_dev/day-8-9-of-my-react-journey-react-router-basics-3cbe</guid>
      <description>&lt;p&gt;On Day 8-9, I dove into the world of React Router and learned how modern SPAs (Single Page Applications) handle navigation. Instead of reloading pages like in traditional websites, React Router makes navigation smooth, fast, and dynamic ⚡.&lt;/p&gt;

&lt;p&gt;What I Explored&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Link &amp;amp; NavLink → Navigate between pages without refreshing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Active Links → Style the current route for a better user experience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;useParams → Fetch and display data directly from the URL.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;4.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff8dfnon1ejpcimamdij4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff8dfnon1ejpcimamdij4.png" alt=" " width="800" height="431"&gt;&lt;/a&gt; Built a small project with multiple pages to practice these concepts.&lt;/p&gt;

</description>
      <category>react</category>
      <category>frontend</category>
      <category>productivity</category>
    </item>
    <item>
      <title># 🔐 Day 6-7: Built a React Password Generator — Mastered `useCallback`, `useEffect`, and `useRef`</title>
      <dc:creator>Usman Butt</dc:creator>
      <pubDate>Fri, 08 Aug 2025 19:42:09 +0000</pubDate>
      <link>https://forem.com/usman_butt_dev/-day-6-7-built-a-react-password-generator-mastered-usecallback-useeffect-and-useref-4jp6</link>
      <guid>https://forem.com/usman_butt_dev/-day-6-7-built-a-react-password-generator-mastered-usecallback-useeffect-and-useref-4jp6</guid>
      <description>&lt;p&gt;As part of my &lt;strong&gt;React learning journey&lt;/strong&gt;, I spent Day 6 and 7 building a simple but powerful &lt;strong&gt;Password Generator App&lt;/strong&gt; . This wasn’t just a UI exercise — it was a deep dive into &lt;strong&gt;React hooks&lt;/strong&gt;, especially &lt;code&gt;useCallback&lt;/code&gt;, &lt;code&gt;useEffect&lt;/code&gt;, and &lt;code&gt;useRef&lt;/code&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt; Password length control
&lt;/li&gt;
&lt;li&gt; Toggle numbers and special characters
&lt;/li&gt;
&lt;li&gt; One-click copy to clipboard
&lt;/li&gt;
&lt;li&gt; Auto-generate when options change
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔍 Hooks I Focused On
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;useCallback&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Memoized the password generation logic to avoid unnecessary re-renders — &lt;strong&gt;essential for optimization&lt;/strong&gt;!&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;useEffect&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Triggered re-renders when password settings changed. It was a great example of using &lt;code&gt;useEffect&lt;/code&gt; for &lt;strong&gt;side-effect orchestration&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;useRef&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Used to grab the generated password and &lt;strong&gt;copy it to clipboard&lt;/strong&gt; — direct and clean!&lt;/p&gt;




&lt;p&gt;🔗 &lt;a href="https://github.com/levelupsoftwares/react-frontend-journey/tree/main/6.Password-Generator" rel="noopener noreferrer"&gt;GitHub Repo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me know what you think or suggest improvements &lt;/p&gt;

&lt;h1&gt;
  
  
  react #javascript #webdev #hooks #devjourney
&lt;/h1&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>learning</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Day 5 of My React Front-End Journey: Background Color Changer with useState</title>
      <dc:creator>Usman Butt</dc:creator>
      <pubDate>Tue, 29 Jul 2025 19:56:37 +0000</pubDate>
      <link>https://forem.com/usman_butt_dev/day-5-of-my-react-front-end-journey-background-color-changer-with-usestate-n15</link>
      <guid>https://forem.com/usman_butt_dev/day-5-of-my-react-front-end-journey-background-color-changer-with-usestate-n15</guid>
      <description></description>
      <category>react</category>
      <category>javascript</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Day 4 of My React Front-End Journey: Tailwind Setup + Deep Dive into Props</title>
      <dc:creator>Usman Butt</dc:creator>
      <pubDate>Tue, 29 Jul 2025 19:25:07 +0000</pubDate>
      <link>https://forem.com/usman_butt_dev/day-4-of-my-react-front-end-journey-tailwind-setup-deep-dive-into-props-1ofd</link>
      <guid>https://forem.com/usman_butt_dev/day-4-of-my-react-front-end-journey-tailwind-setup-deep-dive-into-props-1ofd</guid>
      <description>&lt;p&gt;&lt;strong&gt;What I Did Day before Yesterday&lt;/strong&gt;&lt;br&gt;
 1.Installed and configured Tailwind CSS with React using Vite&lt;/p&gt;

&lt;p&gt;2.Learned how props work in React&lt;br&gt;
 Passed different types of data (strings, objects, arrays) as props&lt;/p&gt;

&lt;p&gt;3.Accessed those props in child components&lt;/p&gt;

&lt;p&gt;4.Built reusable components using props&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>react</category>
      <category>tailwindcss</category>
    </item>
    <item>
      <title>Day 3 of My React Journey: Why Hooks Exist + Built a Counter App with useState</title>
      <dc:creator>Usman Butt</dc:creator>
      <pubDate>Fri, 25 Jul 2025 18:59:27 +0000</pubDate>
      <link>https://forem.com/usman_butt_dev/day-3-of-my-react-journey-why-hooks-exist-built-a-counter-app-with-usestate-19oj</link>
      <guid>https://forem.com/usman_butt_dev/day-3-of-my-react-journey-why-hooks-exist-built-a-counter-app-with-usestate-19oj</guid>
      <description>&lt;p&gt;In vanilla JavaScript, if you want to update something in the UI, you usually:&lt;br&gt;
Use document.querySelector()&lt;/p&gt;

&lt;p&gt;Then innerText or innerHTML to manually update each element&lt;/p&gt;

&lt;p&gt;But in React, you just use useState() once — and React automatically updates all relevant parts of the UI where that state is used. It’s clean, declarative, and magical.&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Day 2 of My React Journey: Playing with React.createElement() , Evaluated Expression and Errors</title>
      <dc:creator>Usman Butt</dc:creator>
      <pubDate>Wed, 23 Jul 2025 18:54:34 +0000</pubDate>
      <link>https://forem.com/usman_butt_dev/day-2-of-my-react-journey-playing-with-reactcreateelement-evaluated-expression-and-errors-1p7g</link>
      <guid>https://forem.com/usman_butt_dev/day-2-of-my-react-journey-playing-with-reactcreateelement-evaluated-expression-and-errors-1p7g</guid>
      <description>&lt;p&gt;Today was all about understanding how React really builds UI under the hood — going beyond the usual JSX and digging into how React.createElement() actually works.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Did Today&lt;/strong&gt;&lt;br&gt;
 I created my own React element using React.createElement() instead of JSX.&lt;br&gt;
Here’s how it works:&lt;br&gt;
React.createElement('h1', { className: 'heading' }, 'Hello, world!')&lt;br&gt;
Breakdown:&lt;/p&gt;

&lt;p&gt;1.The first argument is the tag name (like 'h1')&lt;/p&gt;

&lt;p&gt;2.The second is an object of attributes (just like props)&lt;/p&gt;

&lt;p&gt;3.The third is the inner content (can be a string, expression, or even another element)&lt;br&gt;
4.The Forth is for the Evaluated Expression which comes from  variable &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>frontend</category>
      <category>programming</category>
    </item>
    <item>
      <title>Day 1 of My Front-End Journey: React Setup + Built a Mini React from Scratch + 1st Component</title>
      <dc:creator>Usman Butt</dc:creator>
      <pubDate>Mon, 21 Jul 2025 20:36:49 +0000</pubDate>
      <link>https://forem.com/usman_butt_dev/day-1-of-my-front-end-journey-react-setup-built-a-mini-react-from-scratch-1st-component-327p</link>
      <guid>https://forem.com/usman_butt_dev/day-1-of-my-front-end-journey-react-setup-built-a-mini-react-from-scratch-1st-component-327p</guid>
      <description>&lt;p&gt;&lt;em&gt;What I Did Today (React Day 1)&lt;/em&gt;&lt;br&gt;
1) Installed both create-react-app and Vite to understand project setup options&lt;br&gt;
2) Built the first basic component using JSX&lt;br&gt;
3) Played around with combining HTML + JS to &lt;strong&gt;build&lt;/strong&gt; a super &lt;strong&gt;simple version&lt;/strong&gt; of &lt;strong&gt;React&lt;/strong&gt; to understand how things like &lt;strong&gt;createElement()&lt;/strong&gt; and rendering work&lt;/p&gt;

&lt;p&gt;It’s early — but exciting. React feels powerful and very developer-friendly once the setup is done.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>45 Days. One Goal: Front-End Developer Ready</title>
      <dc:creator>Usman Butt</dc:creator>
      <pubDate>Mon, 21 Jul 2025 20:24:38 +0000</pubDate>
      <link>https://forem.com/usman_butt_dev/45-days-one-goal-front-end-developer-ready-3ef0</link>
      <guid>https://forem.com/usman_butt_dev/45-days-one-goal-front-end-developer-ready-3ef0</guid>
      <description>&lt;p&gt;I’m Usman, a final-year Computer Science student from Pakistan. I just finished my university exams, and now I’ve got one mission:&lt;br&gt;
👉 To become job-ready as a Front-End (MERN) developer in the next 1.5 months — while also completing my Final Year Project (FYP).&lt;/p&gt;

&lt;p&gt;This blog is my first post to kick off that journey. I’ll be learning in public and sharing everything — the good, the bad, and the bugs. 😄&lt;/p&gt;

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