<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Javier Ductor Peters</title>
    <description>The latest articles on DEV Community by Javier Ductor Peters (@javiductor).</description>
    <link>https://dev.to/javiductor</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%2F2655314%2F30325ba0-5e9b-4309-80af-866ee2c3415b.jpeg</url>
      <title>DEV Community: Javier Ductor Peters</title>
      <link>https://dev.to/javiductor</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/javiductor"/>
    <language>en</language>
    <item>
      <title>Launched My First Portfolio Site After 6 Months of Learning to Code</title>
      <dc:creator>Javier Ductor Peters</dc:creator>
      <pubDate>Mon, 06 Jan 2025 09:51:34 +0000</pubDate>
      <link>https://dev.to/javiductor/launched-my-first-portfolio-site-after-6-months-of-learning-to-code-48jp</link>
      <guid>https://dev.to/javiductor/launched-my-first-portfolio-site-after-6-months-of-learning-to-code-48jp</guid>
      <description>&lt;p&gt;Hey dev community! 👋&lt;/p&gt;

&lt;p&gt;I wanted to share a milestone in my coding journey - I just launched my first portfolio website! As someone who started learning to code 6 months ago, this feels like a huge step.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I've Been Learning
&lt;/h2&gt;

&lt;p&gt;Over the past 6 months, I've been focusing on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React JS&lt;/li&gt;
&lt;li&gt;Vanilla JavaScript&lt;/li&gt;
&lt;li&gt;HTML &amp;amp; CSS&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Current State
&lt;/h2&gt;

&lt;p&gt;The site is still a work in progress, and I'm learning new things every day. I decided to launch it now rather than waiting for "perfection" because I believe in learning in public and iterating based on feedback.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;I plan to continue improving the site, adding more projects, and refining my skills. If you're interested in checking it out or providing feedback, you can find it here: &lt;a href="https://thespaghetti.dev/" rel="noopener noreferrer"&gt;The Spaghetti Dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'd love to hear from other developers who've been on similar journeys. What were some key learnings from your first portfolio site?&lt;/p&gt;

&lt;p&gt;Also, if you have any feedback on my project please feel free to comment. &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>react</category>
      <category>javascript</category>
    </item>
    <item>
      <title>useState Explained Simply - A Guide for Non-Developers (2025)</title>
      <dc:creator>Javier Ductor Peters</dc:creator>
      <pubDate>Sun, 05 Jan 2025 11:58:10 +0000</pubDate>
      <link>https://dev.to/javiductor/usestate-explained-simply-a-guide-for-non-developers-2025-1ebj</link>
      <guid>https://dev.to/javiductor/usestate-explained-simply-a-guide-for-non-developers-2025-1ebj</guid>
      <description>&lt;p&gt;Hey 👋 &lt;/p&gt;

&lt;p&gt;Coming from a marketing background, I remember how intimidating React hooks felt at first. All those technical terms and developer jargon made my head spin! After lots of learning (and plenty of confusion), I wanted to create the guide I wish I had when starting out.&lt;/p&gt;

&lt;p&gt;If you've ever:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Felt lost in the React documentation 😵‍💫&lt;/li&gt;
&lt;li&gt;Wondered why we can't just use regular variables&lt;/li&gt;
&lt;li&gt;Struggled to explain useState to others&lt;/li&gt;
&lt;li&gt;Wanted examples that actually make sense&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then this guide is for you! Let's break useState down into bite-sized, digestible pieces.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Are React Hooks? 🎣
&lt;/h2&gt;

&lt;p&gt;Think of Hooks like a Swiss Army knife - each tool has a specific purpose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;useState&lt;/code&gt;: Your magical notepad (we'll dive deep into this one!)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;useEffect&lt;/code&gt;: Your personal assistant who watches for changes&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;useContext&lt;/code&gt;: The group chat where everyone shares information&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;useReducer&lt;/code&gt;: Like useState's big brother for complicated stuff&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;useMemo&lt;/code&gt;: Your smart friend who remembers solutions&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;useCallback&lt;/code&gt;: Similar to useMemo, but for remembering functions&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;useRef&lt;/code&gt;: Like putting a sticky note on something to find it later&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is useState? 📝
&lt;/h2&gt;

&lt;p&gt;Remember those magic boards where you could write something, erase it, and write something new? &lt;code&gt;useState&lt;/code&gt; is exactly like that for your website! It helps your website remember things and update them when needed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;something&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setSomething&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;startingValue&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Think of it as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;something&lt;/code&gt;: What's currently written on your board&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;setSomething&lt;/code&gt;: Your special eraser/marker to change what's written&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;startingValue&lt;/code&gt;: What you write on the board to begin with&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How Does useState Work? 🔄
&lt;/h2&gt;

&lt;p&gt;Let me explain this like a cooking recipe:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Getting Ready to Cook (Initialization)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Set up your cooking space (your component)&lt;/li&gt;
&lt;li&gt;Create a special recipe card (React's state space)&lt;/li&gt;
&lt;li&gt;Each ingredient gets its own spot on the card&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Changing the Recipe (Updates)
&lt;/h3&gt;

&lt;p&gt;When you want to change an ingredient amount:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React writes the change on a sticky note&lt;/li&gt;
&lt;li&gt;Puts that note in a "to-do" pile&lt;/li&gt;
&lt;li&gt;Plans to update the recipe soon&lt;/li&gt;
&lt;li&gt;Groups multiple changes together (like changing several ingredients at once)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Making the Changes (Render)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;React reviews all sticky notes&lt;/li&gt;
&lt;li&gt;Calculates new amounts&lt;/li&gt;
&lt;li&gt;Updates the recipe card&lt;/li&gt;
&lt;li&gt;Shows everyone the new recipe&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Finishing Up (Commit)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;React makes the changes&lt;/li&gt;
&lt;li&gt;Cleans up old ingredients&lt;/li&gt;
&lt;li&gt;Sets up new ingredients&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Real-World Examples 💡
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. A Simple Welcome Message
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;WelcomeMessage&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Think of this like a greeting card where you can change the name&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setName&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Guest&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt; 
        &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;onChange&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setName&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;placeholder&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Type your name"&lt;/span&gt;
      &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Welcome to my website, &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;! 🎉&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. A Like Button Counter
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;LikeButton&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Just like counting likes on Instagram&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;likes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setLikes&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;This post has &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;likes&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; likes&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setLikes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;likes&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;♥️ Like&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Dark Mode Toggle
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;DarkModeSwitch&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Like a light switch for your website&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;isDark&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setIsDark&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;isDark&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;black&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;white&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;isDark&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;white&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;black&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setIsDark&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;isDark&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        Switch to &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;isDark&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;☀️ Light&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;🌙 Dark&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; Mode
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Common Mistakes (We All Make Them!) 🚫
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Trying to Change Things Directly
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// 🚫 Don't do this!&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setUser&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;John&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Jane&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;  &lt;span class="c1"&gt;// This is like trying to edit a photocopy&lt;/span&gt;

&lt;span class="c1"&gt;// ✅ Do this instead!&lt;/span&gt;
&lt;span class="nf"&gt;setUser&lt;/span&gt;&lt;span class="p"&gt;({...&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Jane&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;  &lt;span class="c1"&gt;// This is like making a new copy&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Updating Based on Previous Value
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// 🚫 Don't do this!&lt;/span&gt;
&lt;span class="nf"&gt;setCount&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;setCount&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;// Oops, this won't work right!&lt;/span&gt;

&lt;span class="c1"&gt;// ✅ Do this instead!&lt;/span&gt;
&lt;span class="nf"&gt;setCount&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;prev&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;setCount&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;prev&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;// Much better!&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  When Should You Use useState? ✅
&lt;/h2&gt;

&lt;p&gt;Use it when you need to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keep track of form inputs&lt;/li&gt;
&lt;li&gt;Toggle things on/off&lt;/li&gt;
&lt;li&gt;Count things&lt;/li&gt;
&lt;li&gt;Store temporary information&lt;/li&gt;
&lt;li&gt;Handle user interactions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  When Should You Not Use useState? ⛔
&lt;/h2&gt;

&lt;p&gt;Avoid it when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You need to share data between many components (use Context)&lt;/li&gt;
&lt;li&gt;You have complex state logic (use useReducer)&lt;/li&gt;
&lt;li&gt;You're dealing with large amounts of data&lt;/li&gt;
&lt;li&gt;You need to update multiple related things at once&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Let's Practice! 💪
&lt;/h2&gt;

&lt;p&gt;Here's a small challenge to test your understanding:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a simple counter component&lt;/li&gt;
&lt;li&gt;Add increment and decrement buttons&lt;/li&gt;
&lt;li&gt;Add a reset button&lt;/li&gt;
&lt;li&gt;Bonus: Add a "multiply by 2" button&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Drop your solution in the comments! I'd love to see what you create.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up 🎁
&lt;/h2&gt;

&lt;p&gt;useState might seem scary at first, but it's really just a way to help your website remember things - like a digital sticky note system! Remember:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start simple&lt;/li&gt;
&lt;li&gt;Practice with basic examples&lt;/li&gt;
&lt;li&gt;Don't worry about being perfect&lt;/li&gt;
&lt;li&gt;Keep building and learning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Coming from a non-technical background myself, I know these concepts take time to sink in. That's totally normal! &lt;/p&gt;

&lt;h2&gt;
  
  
  Let's Connect! 🤝
&lt;/h2&gt;

&lt;p&gt;I'd love to hear about your React journey:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What was your "aha!" moment with useState?&lt;/li&gt;
&lt;li&gt;What analogies helped you understand it?&lt;/li&gt;
&lt;li&gt;What other React concepts would you like me to break down?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Share your thoughts in the comments below!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Stay tuned for more guides where I break down other React concepts into normal human language!&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;Happy coding! 🚀&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Cover image credits: Your Image Credit Here&lt;/em&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>javascript</category>
    </item>
    <item>
      <title>10 Best Icon Libraries for React You Should Try in 2025</title>
      <dc:creator>Javier Ductor Peters</dc:creator>
      <pubDate>Sat, 04 Jan 2025 14:56:25 +0000</pubDate>
      <link>https://dev.to/javiductor/10-best-icon-libraries-for-react-you-should-try-in-2025-4p7c</link>
      <guid>https://dev.to/javiductor/10-best-icon-libraries-for-react-you-should-try-in-2025-4p7c</guid>
      <description>&lt;p&gt;Hey Dev.to community! 👋&lt;/p&gt;

&lt;p&gt;As a React developer, I've spent countless hours exploring different icon libraries for various projects. Finding the right icon library can be overwhelming - there are so many options, and they often look similar at first glance. After extensive research and hands-on experience, I've put together a curated list of the best React icon libraries for 2025.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Your Choice of Icon Library Matters
&lt;/h2&gt;

&lt;p&gt;Before diving into the options, let's talk about what makes a great icon library. In my experience, you should look for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🎨 Consistent design across all icons&lt;/li&gt;
&lt;li&gt;⚡ Optimal bundle size for performance&lt;/li&gt;
&lt;li&gt;🎯 Easy customisation options&lt;/li&gt;
&lt;li&gt;🔄 Regular updates and maintenance&lt;/li&gt;
&lt;li&gt;📚 Comprehensive documentation&lt;/li&gt;
&lt;li&gt;📝 TypeScript support&lt;/li&gt;
&lt;li&gt;♿ Accessibility features&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Let's explore the top 10 libraries that check these boxes!
&lt;/h2&gt;

&lt;h2&gt;
  
  
  1. Lucide React
&lt;/h2&gt;

&lt;p&gt;*&lt;em&gt;GitHub Stars: 5k+ | Weekly Downloads: 200k+&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Lucide React has become my go-to choice for modern React projects. It's a well-maintained fork of Feather Icons that brings fresh updates and community-driven development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why It Stands Out:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Over 1,000 beautifully crafted icons&lt;/li&gt;
&lt;li&gt;Excellent TypeScript support&lt;/li&gt;
&lt;li&gt;Tiny bundle size (average 1KB per icon)&lt;/li&gt;
&lt;li&gt;Customisable stroke width and colours&lt;/li&gt;
&lt;li&gt;Regular monthly updates
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { Camera, Heart, Coffee } from 'lucide-react';

function MyComponent() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;Camera size={24} color="red" /&amp;gt;
      &amp;lt;Heart /&amp;gt;
      &amp;lt;Coffee strokeWidth={1.5} /&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. React Icons
&lt;/h2&gt;

&lt;p&gt;*&lt;em&gt;GitHub Stars: 9k+ | Weekly Downloads: 500k+&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Need variety? React Icons is your Swiss Army knife, combining multiple icon packs into one powerful library.&lt;br&gt;
Key Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Includes icons from 20+ popular icon sets&lt;/li&gt;
&lt;li&gt;Unified API for all icon packs&lt;/li&gt;
&lt;li&gt;Tree-shaking support&lt;/li&gt;
&lt;li&gt;Easy integration with build tools
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { FaReact } from 'react-icons/fa';
import { AiOutlineCloud } from 'react-icons/ai';

function MyComponent() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;FaReact size="2em" /&amp;gt;
      &amp;lt;AiOutlineCloud color="skyblue" /&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. Phosphor Icons
&lt;/h2&gt;

&lt;p&gt;**GitHub Stars: 4k+ | Weekly Downloads: 150k+&lt;br&gt;
**Phosphor Icons is a hidden gem that's gaining traction fast. Its flexible weight system makes it a designer's dream.&lt;br&gt;
What You'll Love:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;6 weight variants for each icon&lt;/li&gt;
&lt;li&gt;900+ icons in the collection&lt;/li&gt;
&lt;li&gt;Consistent 16px grid&lt;/li&gt;
&lt;li&gt;Built-in React hooks
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { Horse, HorseThin, HorseBold } from '@phosphor-icons/react';

function MyComponent() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;Horse size={32} /&amp;gt;
      &amp;lt;HorseThin weight="thin" /&amp;gt;
      &amp;lt;HorseBold color="#1a1a1a" /&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Iconoir
&lt;/h2&gt;

&lt;p&gt;*&lt;em&gt;GitHub Stars: 3k+ | Weekly Downloads: 100k+&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
If you're after clean, minimal design, Iconoir should be on your radar.&lt;br&gt;
Standout Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1200+ open-source icons&lt;/li&gt;
&lt;li&gt;SVG-first approach&lt;/li&gt;
&lt;li&gt;Consistent stroke width&lt;/li&gt;
&lt;li&gt;Regular updates
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { Calendar, BreadSlice } from 'iconoir-react';

function MyComponent() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;Calendar strokeWidth={1.5} /&amp;gt;
      &amp;lt;BreadSlice color="brown" /&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  5. Heroicons
&lt;/h2&gt;

&lt;p&gt;*&lt;em&gt;GitHub Stars: 17k+ | Weekly Downloads: 300k+&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Created by the Tailwind CSS team, Heroicons is perfect if you're using Tailwind or just love clean, consistent design.&lt;br&gt;
Why Developers Love It:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Official React components&lt;/li&gt;
&lt;li&gt;Solid and outline variants&lt;/li&gt;
&lt;li&gt;Seamless Tailwind CSS integration&lt;/li&gt;
&lt;li&gt;Accessibility-first approach
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { BeakerIcon, ChatBubbleIcon } from '@heroicons/react/24/solid';

function MyComponent() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;BeakerIcon className="h-6 w-6 text-blue-500" /&amp;gt;
      &amp;lt;ChatBubbleIcon className="h-6 w-6 text-gray-500" /&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  6. Radix Icons
&lt;/h2&gt;

&lt;p&gt;*&lt;em&gt;GitHub Stars: 2k+ | Weekly Downloads: 75k+&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Radix Icons shines when you need pixel-perfect, accessible icons for modern interfaces.&lt;br&gt;
Notable Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;15x15 pixel-perfect icons&lt;/li&gt;
&lt;li&gt;Consistent visual style&lt;/li&gt;
&lt;li&gt;Built-in accessibility labels&lt;/li&gt;
&lt;li&gt;Perfect for minimalist designs
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { ArrowRightIcon, CheckIcon } from '@radix-ui/react-icons';

function MyComponent() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;ArrowRightIcon className="text-black" /&amp;gt;
      &amp;lt;CheckIcon width={20} height={20} /&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  7. Remix Icons
&lt;/h2&gt;

&lt;p&gt;*&lt;em&gt;GitHub Stars: 7k+ | Weekly Downloads: 250k+&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Need options? Remix Icons has you covered with one of the largest collections available.&lt;br&gt;
Why Consider It:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2500+ icons&lt;/li&gt;
&lt;li&gt;Line and fill variants&lt;/li&gt;
&lt;li&gt;Consistent 24px grid&lt;/li&gt;
&lt;li&gt;Category-based organisation
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { RiHomeSmileLine, RiHomeSmileFill } from 'remix-icons-react';

function MyComponent() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;RiHomeSmileLine size={24} /&amp;gt;
      &amp;lt;RiHomeSmileFill color="#000" /&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  8. Bootstrap Icons React
&lt;/h2&gt;

&lt;p&gt;*&lt;em&gt;GitHub Stars: 8k+ | Weekly Downloads: 400k+&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
The official React components for Bootstrap icons - perfect if you're already using Bootstrap or love its design language.&lt;br&gt;
Key Benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1800+ icons&lt;/li&gt;
&lt;li&gt;Consistent with Bootstrap design&lt;/li&gt;
&lt;li&gt;Fill and outline variants&lt;/li&gt;
&lt;li&gt;Built-in TypeScript support
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { Alarm, Archive } from 'react-bootstrap-icons';

function MyComponent() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;Alarm size={24} /&amp;gt;
      &amp;lt;Archive color="primary" /&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  9. Material Icons React
&lt;/h2&gt;

&lt;p&gt;*&lt;em&gt;GitHub Stars: 10k+ | Weekly Downloads: 450k+&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
The go-to choice for Material Design projects, backed by Google's design system.&lt;br&gt;
Highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2000+ icons&lt;/li&gt;
&lt;li&gt;Multiple themes (outlined, rounded, sharp)&lt;/li&gt;
&lt;li&gt;Official Google support&lt;/li&gt;
&lt;li&gt;Regular updates
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { AccountCircle, AddCircle } from '@mui/icons-material';

function MyComponent() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;AccountCircle fontSize="large" /&amp;gt;
      &amp;lt;AddCircle color="primary" /&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  10. Tabler Icons
&lt;/h2&gt;

&lt;p&gt;*&lt;em&gt;GitHub Stars: 3k+ | Weekly Downloads: 120k+&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
A fresh take on icon design with an impressive collection size.&lt;br&gt;
What Sets It Apart:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;4,200+ icons&lt;/li&gt;
&lt;li&gt;Consistent 24px grid&lt;/li&gt;
&lt;li&gt;Customisable stroke width&lt;/li&gt;
&lt;li&gt;SVG-first approach
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { IconUser, IconSettings } from '@tabler/icons-react';

function MyComponent() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;IconUser size={24} /&amp;gt;
      &amp;lt;IconSettings stroke={1.5} /&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How to Choose the Right Library
&lt;/h2&gt;

&lt;p&gt;Consider these factors when making your decision:&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;1. Project Requirements&lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Design consistency with your application&lt;/li&gt;
&lt;li&gt;Number of icons needed&lt;/li&gt;
&lt;li&gt;Specific icon styles required&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;*&lt;em&gt;2. Technical Considerations&lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bundle size impact&lt;/li&gt;
&lt;li&gt;Browser support&lt;/li&gt;
&lt;li&gt;Integration complexity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;*&lt;em&gt;3. Maintenance and Support&lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Update frequency&lt;/li&gt;
&lt;li&gt;Community size&lt;/li&gt;
&lt;li&gt;Documentation quality&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;The React icon library ecosystem is more vibrant than ever in 2025. Here's my TL;DR recommendation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🎨 Need design flexibility? → Phosphor Icons&lt;/li&gt;
&lt;li&gt;🚀 Want maximum variety? → React Icons&lt;/li&gt;
&lt;li&gt;⚡ Prioritize performance? → Lucide React&lt;/li&gt;
&lt;li&gt;🎯 Using Tailwind? → Heroicons&lt;/li&gt;
&lt;li&gt;🎪 Building with Material Design? → Material Icons React&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Let's Discuss!
&lt;/h2&gt;

&lt;p&gt;I'd love to hear your experiences:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1. Which icon library is your favourite?&lt;/li&gt;
&lt;li&gt;2. Have you tried any of these in your projects?&lt;/li&gt;
&lt;li&gt;3. Are there any great libraries I missed?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Share your thoughts in the comments below! 💭&lt;/p&gt;

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