<?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: Ender</title>
    <description>The latest articles on DEV Community by Ender (@wegin).</description>
    <link>https://dev.to/wegin</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%2F1429050%2Fbce81884-b562-4091-a512-6ea78ef8dd95.png</url>
      <title>DEV Community: Ender</title>
      <link>https://dev.to/wegin</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wegin"/>
    <language>en</language>
    <item>
      <title>Why Jinno is a Better Alternative to Storybook</title>
      <dc:creator>Ender</dc:creator>
      <pubDate>Mon, 17 Mar 2025 10:58:55 +0000</pubDate>
      <link>https://dev.to/wegin/why-jinno-is-a-better-alternative-to-storybook-pl</link>
      <guid>https://dev.to/wegin/why-jinno-is-a-better-alternative-to-storybook-pl</guid>
      <description>&lt;p&gt;If you're using &lt;strong&gt;Storybook&lt;/strong&gt; to document and test your React components, you know the hassle of setting up and maintaining separate component environments. While &lt;a href="https://storybook.js.org/" rel="noopener noreferrer"&gt;Storybook&lt;/a&gt; is a great tool for UI development, it requires extra effort to isolate components and work outside your actual project. But what if you could preview and test components &lt;strong&gt;directly inside your editor&lt;/strong&gt; without extra setup? That's where &lt;strong&gt;&lt;a href="https://www.jinno.app/redirect?from=06devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt;&lt;/strong&gt; changes the game.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Makes &lt;a href="https://www.jinno.app/redirect?from=06devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; Better?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.jinno.app/redirect?from=06devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; is a &lt;strong&gt;developer-first tool&lt;/strong&gt; that seamlessly integrates into your existing codebase, enabling live previews of React components right inside your editor. Unlike &lt;a href="https://storybook.js.org/" rel="noopener noreferrer"&gt;Storybook&lt;/a&gt;, which requires you to manually isolate components and navigate away from your development environment, &lt;a href="https://www.jinno.app/redirect?from=06devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; lets you &lt;strong&gt;isolate any component with one click&lt;/strong&gt; and preview it instantly. Here’s why it’s a huge productivity boost:&lt;/p&gt;

&lt;h3&gt;
  
  
  🔥 Instant Component Previews
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.jinno.app/redirect?from=06devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; allows you to see &lt;strong&gt;live previews of your components without switching tabs&lt;/strong&gt; or launching an external UI playground. Everything happens inside your editor, making the development process smoother and more efficient.&lt;/p&gt;

&lt;p&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%2Fpd32btl5tomlsny9zk6r.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%2Fpd32btl5tomlsny9zk6r.png" alt="Image description" width="800" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚡ One-Click Component Isolation
&lt;/h3&gt;

&lt;p&gt;Instead of writing extra configuration files or adjusting your code to work with &lt;a href="https://storybook.js.org/" rel="noopener noreferrer"&gt;Storybook&lt;/a&gt;, &lt;a href="https://www.jinno.app/redirect?from=06devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; lets you &lt;strong&gt;isolate any component in one click&lt;/strong&gt;. This means faster debugging and a more seamless workflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Faster Iteration and Hot Reloading
&lt;/h3&gt;

&lt;p&gt;With &lt;a href="https://www.jinno.app/redirect?from=06devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt;, you don’t have to restart your entire app just to test a component. Your changes are instantly reflected inside your editor, speeding up the hot reload process and keeping you in the flow of coding.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.jinno.app/redirect?from=06devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; vs. &lt;a href="https://storybook.js.org/" rel="noopener noreferrer"&gt;Storybook&lt;/a&gt;: A Side-by-Side Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Jinno&lt;/th&gt;
&lt;th&gt;Storybook&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Integrated into your codebase&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌ (Runs separately)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;One-click isolation&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌ (Requires setup)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Live previews inside editor&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌ (External UI)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No extra configuration needed&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌ (Requires setup)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Faster hot reloading&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌ (Slower iteration)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Works within VS Code &amp;amp; other editors&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌ (Runs in browser)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  How &lt;a href="https://www.jinno.app/redirect?from=06devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; Handles Stories
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.jinno.app/redirect?from=06devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; offers a simple and flexible way to create stories for complex components, similar to &lt;a href="https://storybook.js.org/" rel="noopener noreferrer"&gt;Storybook&lt;/a&gt; but &lt;strong&gt;without requiring extra setup&lt;/strong&gt;. If your component accepts complex properties (like another component), you can create a &lt;code&gt;.story.tsx&lt;/code&gt; file next to your component file and define example input properties using regular TypeScript.&lt;/p&gt;

&lt;h3&gt;
  
  
  Example: Creating a Story in &lt;a href="https://www.jinno.app/redirect?from=06devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;For a &lt;code&gt;UsersList.tsx&lt;/code&gt; component, you can create a &lt;code&gt;UsersList.story.tsx&lt;/code&gt; file with the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// UsersList.story.tsx&lt;/span&gt;
&lt;span class="k"&gt;import&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="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./types&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;UserIcon&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./UserIcon&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;examples&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;default&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;users&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;username&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;snow123&lt;/span&gt;&lt;span class="dl"&gt;'&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 Snow&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;avatar&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;UserIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;User&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;2&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;username&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dan79&lt;/span&gt;&lt;span class="dl"&gt;'&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;Dan Mayer&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;23&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;avatar&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;UserIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;User&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;3&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;username&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;george&lt;/span&gt;&lt;span class="dl"&gt;'&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;George Smith&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;avatar&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;UserIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;User&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&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;p&gt;With this approach, you can easily define and test different component states &lt;strong&gt;without the need for external configurations or complex Storybook setups&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.jinno.app/redirect?from=06devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; offers a &lt;strong&gt;smarter, faster, and more integrated&lt;/strong&gt; approach to component previews and isolation than &lt;a href="https://storybook.js.org/" rel="noopener noreferrer"&gt;Storybook&lt;/a&gt;. If you're tired of constantly switching tabs, dealing with slow reload times, and maintaining separate configurations, it's time to &lt;strong&gt;ditch Storybook and switch to &lt;a href="https://www.jinno.app/redirect?from=06devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Give it a try and experience a truly seamless development workflow!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>5 Must-Have VS Code Extensions for React development</title>
      <dc:creator>Ender</dc:creator>
      <pubDate>Thu, 13 Mar 2025 05:49:56 +0000</pubDate>
      <link>https://dev.to/wegin/5-must-have-vs-code-extensions-for-react-development-jhd</link>
      <guid>https://dev.to/wegin/5-must-have-vs-code-extensions-for-react-development-jhd</guid>
      <description>&lt;p&gt;&lt;strong&gt;Enhance Your React Development with These Top VS Code Extensions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;VS Code is a powerful editor, and its extensions make it even better by streamlining development workflows. Whether you're debugging, formatting, or managing dependencies, the right tools can save time and boost productivity. This article introduces &lt;strong&gt;five must-have VS Code extensions&lt;/strong&gt; to help you develop React applications more efficiently.&lt;/p&gt;

&lt;p&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%2Fohc7gksql4poyhxc85dc.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%2Fohc7gksql4poyhxc85dc.png" alt="Image description" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Jinno
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.jinno.app/redirect?from=05devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; enables live previews of React components directly within the editor. With Jinno, you can isolate any component with one click, speeding up your hot reload process and letting you focus on coding rather than switching back and forth between tools. It’s been a game-changer for my workflow, and I believe it could be for yours too!&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Jinno is a huge productivity boost:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Instant component previews inside your editor&lt;/li&gt;
&lt;li&gt;One-click isolation to test components without launching a full app&lt;/li&gt;
&lt;li&gt;Faster iteration — no need to break focus by switching tabs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&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%2Fva5v4u9jb6zt67chs0zm.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%2Fva5v4u9jb6zt67chs0zm.png" alt="Image description" width="800" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can install Jinno by visiting the &lt;a href="https://www.jinno.app/redirect?from=05devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;VS Code marketplace link here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. ESLint
&lt;/h2&gt;

&lt;p&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%2F00cj2tn55ru7p2i5c31d.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%2F00cj2tn55ru7p2i5c31d.png" alt="Image description" width="800" height="158"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ESLint is a widely used linting tool for JavaScript and JSX, helping developers detect and fix issues quickly. It ensures code consistency and prevents bugs before they happen.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint" rel="noopener noreferrer"&gt;ESLint extension for VS Code&lt;/a&gt; seamlessly integrates ESLint into your workflow. To install it, search for “ESLint” in the VS Code extensions panel or follow &lt;a href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint" rel="noopener noreferrer"&gt;this link&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It works with the ESLint package installed in your project’s workspace. If one isn’t found locally, it defaults to a globally installed version. To configure ESLint properly, check out the &lt;a href="https://eslint.org/docs/latest/use/getting-started" rel="noopener noreferrer"&gt;official setup guide&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Prettier
&lt;/h2&gt;

&lt;p&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%2Fdg2xsm31prvfsn75x2sp.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%2Fdg2xsm31prvfsn75x2sp.png" alt="Image description" width="800" height="179"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Prettier is an automatic code formatter that enforces a uniform style across your codebase. It eliminates the need for manual formatting, ensuring that every developer on your team follows the same structure.&lt;/p&gt;

&lt;p&gt;To get started, install the &lt;code&gt;Prettier - Code formatter&lt;/code&gt; extension by searching for it in VS Code or using &lt;a href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode" rel="noopener noreferrer"&gt;this link&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you want more control over when Prettier formats your code, consider installing &lt;a href="https://marketplace.visualstudio.com/items?itemName=tombonnike.vscode-status-bar-format-toggle" rel="noopener noreferrer"&gt;vscode-status-bar-format-toggle&lt;/a&gt; to enable or disable automatic formatting with a simple click.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. npm Intellisense
&lt;/h2&gt;

&lt;p&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%2Fxlmilv3k10mh9gydt0mp.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%2Fxlmilv3k10mh9gydt0mp.png" alt="Image description" width="800" height="184"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Working with npm packages? &lt;code&gt;npm Intellisense&lt;/code&gt; is a handy extension that provides autocompletion for package imports, reducing keystrokes and potential typos.&lt;/p&gt;

&lt;p&gt;Installing it is easy—search for &lt;code&gt;npm Intellisense&lt;/code&gt; in the VS Code extensions marketplace or find it in the extensions panel within VS Code.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Import Cost
&lt;/h2&gt;

&lt;p&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%2Ffiprmixx6on3d6q59qrq.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%2Ffiprmixx6on3d6q59qrq.png" alt="Image description" width="706" height="202"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Understanding how dependencies impact your application is crucial. &lt;code&gt;Import Cost&lt;/code&gt; helps by displaying the size of imported packages directly in the editor, so you can make informed decisions about which libraries to use.&lt;/p&gt;

&lt;p&gt;You can install it by searching for the &lt;a href="https://marketplace.visualstudio.com/items?itemName=wix.vscode-import-cost" rel="noopener noreferrer"&gt;Import Cost extension&lt;/a&gt; in the VS Code marketplace.&lt;/p&gt;

&lt;p&gt;Here’s an example demonstrating how &lt;code&gt;Import Cost&lt;/code&gt; helps visualize the size difference between imports:&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus: Create Stories and design system with Jinno
&lt;/h2&gt;

&lt;p&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%2Fowgso53rgeej1zgfqypb.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%2Fowgso53rgeej1zgfqypb.png" alt="Image description" width="800" height="219"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.jinno.app/redirect?from=05devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; isn’t just a live preview tool—it also enables you to create &lt;strong&gt;stories&lt;/strong&gt; for your components, making it easier to document and test different prop configurations. With Jinno, you can save various prop examples, ensuring consistency across your project and improving collaboration with your team.&lt;/p&gt;

&lt;h3&gt;
  
  
  Example: Creating a Story in Jinno
&lt;/h3&gt;

&lt;p&gt;Here's an example of how you can define a story for a &lt;code&gt;UsersList&lt;/code&gt; component using Jinno:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// UsersList.story.tsx&lt;/span&gt;

&lt;span class="k"&gt;import&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="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./types&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;UserIcon&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./UserIcon&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;examples&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;default&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;users&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;username&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;snow123&lt;/span&gt;&lt;span class="dl"&gt;'&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 Snow&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;avatar&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;UserIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;User&lt;/span&gt;
      &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&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;p&gt;This feature makes it simple to isolate components with predefined props, allowing for faster iteration and better debugging. You can install Jinno and start creating your own component stories by visiting the [VS Code marketplace link here]&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;VS Code’s extensive extension marketplace provides countless tools to enhance your React development workflow. This article introduced some of the best ones for improving productivity, from linting and formatting to optimizing imports and enhancing styling workflows.&lt;/p&gt;

&lt;p&gt;By integrating these extensions, you can make your development process smoother and more efficient. Happy coding!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Organize Your React Project Like a Pro</title>
      <dc:creator>Ender</dc:creator>
      <pubDate>Wed, 12 Mar 2025 06:16:56 +0000</pubDate>
      <link>https://dev.to/wegin/how-to-organize-your-react-project-like-a-pro-16kp</link>
      <guid>https://dev.to/wegin/how-to-organize-your-react-project-like-a-pro-16kp</guid>
      <description>&lt;p&gt;So, you’ve started developing your React app, and everything is going smoothly until you notice that your project folder is getting chaotic. Sound familiar? Don’t stress—we’ve all been there. Organizing a React app can seem daunting, but with the right structure, you can maintain a clean, scalable, and easily navigable codebase.&lt;/p&gt;

&lt;p&gt;In this guide, I’ll walk you through a &lt;strong&gt;folder structure&lt;/strong&gt; that has worked exceptionally well for me. It’s beginner-friendly, scalable, and ideal for small to medium-sized projects. Let’s get started!&lt;/p&gt;

&lt;h2&gt;
  
  
  1. assets/ 🖼️
&lt;/h2&gt;

&lt;p&gt;This directory is for all static assets like images, icons, fonts, and other media. Keeping them in one place simplifies management and access throughout your app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to store here:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Images (&lt;code&gt;logo.png&lt;/code&gt;, &lt;code&gt;background.jpg&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Icons (SVGs or icon fonts)&lt;/li&gt;
&lt;li&gt;Fonts (custom or third-party)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&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%2F8shzsm6ezs44oyducyjn.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%2F8shzsm6ezs44oyducyjn.png" alt="Image description" width="306" height="287"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. components/ 🧩
&lt;/h2&gt;

&lt;p&gt;This is where all reusable UI components reside. Buttons, cards, modals, and any other elements used across your app should be stored here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to store here:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reusable components (&lt;code&gt;Button.jsx&lt;/code&gt;, &lt;code&gt;Card.jsx&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Component-specific styles (if not using CSS-in-JS)&lt;/li&gt;
&lt;li&gt;Subfolders for complex components (e.g., &lt;code&gt;components/Header/&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&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%2F1r5vwpz88klia6xwikyr.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%2F1r5vwpz88klia6xwikyr.png" alt="Image description" width="230" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. contexts/ 🌐
&lt;/h2&gt;

&lt;p&gt;React Context is great for managing global state without prop drilling. This directory stores all context providers and related logic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to store here:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Context providers (&lt;code&gt;AuthContext.js&lt;/code&gt;, &lt;code&gt;ThemeContext.js&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Reducers or custom hooks for managing context&lt;/li&gt;
&lt;/ul&gt;

&lt;p&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%2Frjvq8mvbkx4bzue38zj2.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%2Frjvq8mvbkx4bzue38zj2.png" alt="Image description" width="263" height="96"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Use Jinno to Create Stories for Your Components 🚀
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.jinno.app/redirect?from=04devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; is a &lt;strong&gt;VS Code extension&lt;/strong&gt; that allows you to create &lt;strong&gt;component stories&lt;/strong&gt; directly inside your editor. Unlike Storybook, where you need to modify your component or set up an external environment, &lt;a href="https://www.jinno.app/redirect?from=04devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; integrates &lt;strong&gt;seamlessly with your code&lt;/strong&gt;. This means you can define different &lt;strong&gt;examples&lt;/strong&gt; for your components &lt;strong&gt;without modifying&lt;/strong&gt; their implementation.&lt;/p&gt;

&lt;p&gt;With &lt;a href="https://www.jinno.app/redirect?from=04devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt;, you can define a &lt;strong&gt;.story.tsx&lt;/strong&gt; file next to each component, allowing you to quickly preview different prop variations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; Create a &lt;code&gt;[YOUR_COMPONENT_NAME].story.tsx&lt;/code&gt; file next to your React component. For example, if your file is &lt;code&gt;UsersList.tsx&lt;/code&gt;, create &lt;code&gt;UsersList.story.tsx&lt;/code&gt; in the same directory and define different prop examples.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// UsersList.story.tsx&lt;/span&gt;
&lt;span class="k"&gt;import&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="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./types&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;UserIcon&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./UserIcon&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;examples&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;default&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;users&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;username&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;snow123&lt;/span&gt;&lt;span class="dl"&gt;'&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 Snow&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;avatar&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;UserIcon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;User&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&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;p&gt;&lt;strong&gt;Why jinno is importent to structure your project:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Define component stories without modifying the component code&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Live preview of different prop configurations inside VS Code&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;**&lt;a href="https://www.jinno.app/redirect?from=04devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; will isolate the component for you, no need to change your code&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No need to set up an external tool like Storybook or change your code to isolate the components&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’ve been using &lt;a href="https://www.jinno.app/redirect?from=04devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; in my projects, and it has dramatically improved my development workflow. If you want to streamline your component testing process, &lt;a href="https://www.jinno.app/redirect?from=04devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;try Jinno here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. pages/ 📄
&lt;/h2&gt;

&lt;p&gt;This folder stores the main components that define each page of your application. Every file here corresponds to a specific route in your app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to store here:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Page components (&lt;code&gt;Home.jsx&lt;/code&gt;, &lt;code&gt;About.jsx&lt;/code&gt;, &lt;code&gt;Contact.jsx&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Page-specific logic and styles&lt;/li&gt;
&lt;/ul&gt;

&lt;p&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%2Fckrquwcmh392980xtbm5.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%2Fckrquwcmh392980xtbm5.png" alt="Image description" width="266" height="127"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6. services/ 🌍
&lt;/h2&gt;

&lt;p&gt;This folder is dedicated to managing API requests and external integrations. By keeping these files separate, it makes the code easier to manage and mock during testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to store here:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API service files (&lt;code&gt;authService.js&lt;/code&gt;, &lt;code&gt;userService.js&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;API configuration files (e.g., &lt;code&gt;apiConfig.js&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&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%2Fcxlj5jax3owchn5zo03c.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%2Fcxlj5jax3owchn5zo03c.png" alt="Image description" width="269" height="126"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  7. styles/ 🎨
&lt;/h2&gt;

&lt;p&gt;This folder is where global styles, themes, and CSS utilities are managed. If you’re using a CSS-in-JS solution, you might not need this folder, but it remains useful for defining overarching styles.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to store here:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Global styles (&lt;code&gt;global.css&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Theme configurations (&lt;code&gt;theme.js&lt;/code&gt; for styled-components or Material-UI)&lt;/li&gt;
&lt;li&gt;Reusable CSS utility classes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&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%2Fxbk4fkgdwj5ktbvrpz5f.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%2Fxbk4fkgdwj5ktbvrpz5f.png" alt="Image description" width="250" height="134"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  8. App.js 🎯
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;App.js&lt;/code&gt; file serves as the entry point of your React application. This is where you define your app’s structure, routes, and global configurations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to include here:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Routing setup (&lt;code&gt;react-router-dom&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Context providers (&lt;code&gt;AuthProvider&lt;/code&gt;, &lt;code&gt;ThemeProvider&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Global error boundaries and wrappers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With this structured setup, your React app will remain clean, maintainable, and scalable as it grows!&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Building a React app can be overwhelming, but with a well-structured folder setup, you’ll have a strong foundation for scalability and maintainability. By organizing your files efficiently, you make it easier to collaborate with others, debug issues, and extend your application in the future. Plus, tools like &lt;a href="https://www.jinno.app/redirect?from=04devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; can further enhance your development experience by making component previews and testing seamless. Now, you’re ready to build with confidence—go create something amazing! 🚀&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Optimizing React Development: Fast Reloads with Vite, Webpack, CRA and Jinno</title>
      <dc:creator>Ender</dc:creator>
      <pubDate>Tue, 11 Mar 2025 05:43:29 +0000</pubDate>
      <link>https://dev.to/wegin/optimizing-react-development-fast-reloads-with-vite-webpack-cra-and-jinno-5daf</link>
      <guid>https://dev.to/wegin/optimizing-react-development-fast-reloads-with-vite-webpack-cra-and-jinno-5daf</guid>
      <description>&lt;h1&gt;
  
  
  Vite vs Create React App vs Webpack: Which One is Best for Fast Reloads?
&lt;/h1&gt;

&lt;p&gt;When developing React applications, fast reload times are crucial for maintaining a smooth workflow. Vite, Create React App (CRA), and Webpack all offer different approaches to bundling and development, but how do they compare when it comes to hot reloading speed? Let’s break down the advantages and disadvantages of each and explore the best way to optimize your workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vite: Lightning-Fast Hot Reloading
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Advantages:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Uses native ES modules for near-instant server starts&lt;/li&gt;
&lt;li&gt;Hot Module Replacement (HMR) is extremely fast due to optimized dependency pre-bundling&lt;/li&gt;
&lt;li&gt;Out-of-the-box support for modern JavaScript and TypeScript&lt;/li&gt;
&lt;li&gt;No need for extensive configurations&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Disadvantages:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Less customizable than Webpack for large-scale enterprise projects&lt;/li&gt;
&lt;li&gt;Some older libraries may not be fully compatible due to its reliance on ESM&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Fast Reload Speed in Vite
&lt;/h3&gt;

&lt;p&gt;Vite leverages ESBuild for lightning-fast transpilation, making it significantly quicker than CRA and Webpack when updating components. The speed advantage is most noticeable in large projects with many dependencies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Create React App (CRA): The Traditional Choice
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Advantages:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Easy to set up with minimal configuration&lt;/li&gt;
&lt;li&gt;Works well for small to medium-sized projects&lt;/li&gt;
&lt;li&gt;Supported by React’s core team, ensuring reliability&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Disadvantages:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Slow build times, especially in large projects&lt;/li&gt;
&lt;li&gt;Hot Module Replacement (HMR) is slower than Vite&lt;/li&gt;
&lt;li&gt;Comes with a lot of pre-configured dependencies, which can slow development&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Fast Reload Speed in CRA
&lt;/h3&gt;

&lt;p&gt;CRA uses Webpack under the hood but doesn’t optimize for fast reloads the way Vite does. While HMR is supported, it tends to be sluggish, especially when dealing with deeply nested component trees.&lt;/p&gt;

&lt;h2&gt;
  
  
  Webpack: The Highly Configurable Powerhouse
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Advantages:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Highly customizable with a vast ecosystem of plugins&lt;/li&gt;
&lt;li&gt;Can be optimized for both development and production environments&lt;/li&gt;
&lt;li&gt;Supports a wide range of asset types (CSS, images, fonts, etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Disadvantages:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Complex configuration can be overwhelming&lt;/li&gt;
&lt;li&gt;Slower dev server start times compared to Vite&lt;/li&gt;
&lt;li&gt;HMR performance is inconsistent depending on configuration&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Fast Reload Speed in Webpack
&lt;/h3&gt;

&lt;p&gt;Webpack’s hot reload performance varies based on configuration. While it can be optimized to approach Vite’s speed, out of the box, it’s generally slower due to heavier bundling mechanisms.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Best Way to Optimize Hot Reload: Using &lt;a href="https://www.jinno.app/redirect?from=03devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;While each tool has its strengths, hot reload performance can still be a challenge—especially in large applications. This is where &lt;strong&gt;&lt;a href="https://www.jinno.app/redirect?from=03devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt;&lt;/strong&gt; comes in. Jinno enables &lt;strong&gt;live previews of React components directly within the editor&lt;/strong&gt;, letting you isolate any component with a single click. This drastically speeds up hot reload times, regardless of whether you’re using Vite, CRA, or Webpack.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why &lt;a href="https://www.jinno.app/redirect?from=03devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; is a Game-Changer
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Instant component previews&lt;/strong&gt;: No need to refresh or switch tabs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-click isolation&lt;/strong&gt;: Test components independently without reloading the full app.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Faster iteration&lt;/strong&gt;: Focus on coding rather than waiting for slow builds.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.jinno.app/redirect?from=03devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; works seamlessly with all three tools, making it the fastest way to work with React components. If you want to &lt;strong&gt;maximize your development speed&lt;/strong&gt;, try &lt;strong&gt;&lt;a href="https://www.jinno.app/redirect?from=03devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno for VS Code&lt;/a&gt;&lt;/strong&gt; today.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fast Reload Comparison Table
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Hot Reload Speed&lt;/th&gt;
&lt;th&gt;Component Isolation&lt;/th&gt;
&lt;th&gt;Configuration Required&lt;/th&gt;
&lt;th&gt;Best Use Case&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Webpack&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Moderate&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;Enterprise apps with custom needs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Create React App (CRA)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Slow&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Low&lt;/td&gt;
&lt;td&gt;Small to medium projects, beginners&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Vite&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Fast&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Low&lt;/td&gt;
&lt;td&gt;Modern projects needing speed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Jinno&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Fastest&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;Any React project for maximum productivity&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;For the best out-of-the-box hot reload speed, &lt;strong&gt;Vite&lt;/strong&gt; is the clear winner. However, &lt;strong&gt;Webpack&lt;/strong&gt; offers more flexibility, and &lt;strong&gt;Create React App&lt;/strong&gt; remains a simple choice for beginners. Regardless of which tool you choose, &lt;strong&gt;&lt;a href="https://www.jinno.app/redirect?from=03devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt;&lt;/strong&gt; can take your workflow to the next level by &lt;strong&gt;optimizing component isolation and reducing reload times&lt;/strong&gt;, ensuring you stay productive and focused on building great applications.&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>The Ultimate Guide to Props and State in React With Examples!)</title>
      <dc:creator>Ender</dc:creator>
      <pubDate>Mon, 10 Mar 2025 05:51:10 +0000</pubDate>
      <link>https://dev.to/wegin/the-ultimate-guide-to-props-and-state-in-react-with-examples-43a2</link>
      <guid>https://dev.to/wegin/the-ultimate-guide-to-props-and-state-in-react-with-examples-43a2</guid>
      <description>&lt;h2&gt;
  
  
  Does React Confuse You with Props and State?
&lt;/h2&gt;

&lt;p&gt;Props and state may look similar, but they serve different purposes—and misunderstanding them can lead to unexpected issues in your components. 🚀&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Let’s clarify these concepts once and for all!&lt;/strong&gt;
&lt;/h3&gt;

&lt;h2&gt;
  
  
  Props: Data Passed to Components
&lt;/h2&gt;

&lt;p&gt;Props function like messages sent to components. They:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Are immutable (cannot be modified)&lt;/li&gt;
&lt;li&gt;Flow from parent to child components&lt;/li&gt;
&lt;li&gt;Work best for static or external data&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  🔹 Example:
&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="nx"&gt;props&lt;/span&gt;&lt;span class="p"&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;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Hi, &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;user&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;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;;&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here, &lt;code&gt;user&lt;/code&gt; is a prop—it is provided by a parent component and remains unchanged within this component.&lt;/p&gt;

&lt;p&gt;🔑 &lt;strong&gt;Tip:&lt;/strong&gt; Use props for data that should not be altered by the receiving component.&lt;/p&gt;

&lt;h2&gt;
  
  
  🟢 State: Data Managed by the Component
&lt;/h2&gt;

&lt;p&gt;State represents a component’s internal data that can be updated over time. &lt;strong&gt;It’s great for:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Interactive elements (like inputs)&lt;/li&gt;
&lt;li&gt;User-driven changes&lt;/li&gt;
&lt;li&gt;Managing component lifecycle updates&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  🔹 Example:
&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;ClickCounter&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&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;clicks&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setClicks&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;Clicks: &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;clicks&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;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;setClicks&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;clicks&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;Increase&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;p&gt;Here, &lt;code&gt;clicks&lt;/code&gt; is state—it updates dynamically using &lt;code&gt;setClicks&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚡ Key Differences at a Glance
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Props =&lt;/strong&gt; Data comes &lt;strong&gt;from outside&lt;/strong&gt; the component 📨&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State =&lt;/strong&gt; Data is &lt;strong&gt;managed within&lt;/strong&gt; the component 📤&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Props stay unchanged unless modified by the parent.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;State can be changed within the component itself.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🚨 &lt;strong&gt;Common Pitfall:&lt;/strong&gt; Avoid modifying props inside a component. If you need dynamic behavior, handle state at the parent level and pass updated values as props!&lt;/p&gt;

&lt;h2&gt;
  
  
  🔥 Boost Your React Workflow with &lt;a href="https://www.jinno.app/redirect?from=02devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;While working with props and state, efficient component testing and previewing can make a big difference in your workflow. That’s why I use &lt;a href="https://www.jinno.app/redirect?from=02devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;&lt;strong&gt;Jinno&lt;/strong&gt;&lt;/a&gt;, a VS Code extension that enables live previews of React components directly in the editor. With &lt;a href="https://www.jinno.app/redirect?from=02devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;&lt;strong&gt;Jinno&lt;/strong&gt;&lt;/a&gt;, you can isolate any component with one click, speeding up your hot reload process and keeping you focused on coding rather than constantly switching tabs. &lt;/p&gt;

&lt;p&gt;Why it’s a huge productivity boost:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Instant component previews&lt;/strong&gt; inside your editor&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-click isolation&lt;/strong&gt; to test components without launching a full app&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Faster iteration&lt;/strong&gt;—no need to break focus by switching tabs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🚀 Check out &lt;a href="https://www.jinno.app/redirect?from=02devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno on the VS Code Marketplace&lt;/a&gt; and give your React workflow a serious upgrade!&lt;/p&gt;

&lt;p&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%2F8rkv4ly2if4i98ia1g9w.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%2F8rkv4ly2if4i98ia1g9w.png" alt="Image description" width="800" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  📌 Simple Analogy:
&lt;/h2&gt;

&lt;p&gt;Imagine a ticket vending machine 🎟️&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Props =&lt;/strong&gt; The price and ticket type set by the machine’s owner&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State =&lt;/strong&gt; The number of tickets remaining, tracked within the machine&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you buy a ticket, state updates, but the props stay the same until the machine's owner adjusts them.&lt;/p&gt;

&lt;p&gt;💬 &lt;strong&gt;Have you mastered props and state, or are you still working through React’s quirks?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Share your thoughts below! 🚀&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>webdev</category>
      <category>programming</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Tired of Switching Between Your Editor and Browser? This Changed My React Workflow</title>
      <dc:creator>Ender</dc:creator>
      <pubDate>Sun, 09 Mar 2025 06:32:53 +0000</pubDate>
      <link>https://dev.to/wegin/tired-of-switching-between-your-editor-and-browser-this-changed-my-react-workflow-4ogb</link>
      <guid>https://dev.to/wegin/tired-of-switching-between-your-editor-and-browser-this-changed-my-react-workflow-4ogb</guid>
      <description>&lt;p&gt;Hey devs,  &lt;/p&gt;

&lt;p&gt;I used to waste so much time constantly switching between my &lt;strong&gt;VS Code editor&lt;/strong&gt; and the browser just to check small UI tweaks. It slowed me down, broke my focus, and made debugging way more frustrating than it needed to be.  &lt;/p&gt;

&lt;p&gt;Then I found a game-changer: &lt;a href="https://www.jinno.app/redirect?from=01devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;&lt;strong&gt;Jinno&lt;/strong&gt;&lt;/a&gt;. It lets you preview your React components &lt;strong&gt;directly inside VS Code&lt;/strong&gt;, so you don’t have to refresh your browser or set up an external preview environment.  &lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 &lt;strong&gt;Why it’s been a huge productivity boost:&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Instant component previews&lt;/strong&gt; inside your editor
&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;One-click isolation&lt;/strong&gt; to test components without launching a full app
&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Faster iteration&lt;/strong&gt;—no need to break focus by switching tabs
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re working on a component library, a big project, or just learning React, I highly recommend giving it a shot. It’s been a massive time-saver for me.  &lt;/p&gt;

&lt;p&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%2Fcuqbyv4dzndb8xx9mqy8.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%2Fcuqbyv4dzndb8xx9mqy8.png" alt="Image description" width="800" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔗 &lt;a href="https://www.jinno.app/redirect?from=01devto&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Check it out here&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;Would love to hear—what tools have helped &lt;strong&gt;you&lt;/strong&gt; speed up your React workflow? 🚀&lt;/p&gt;

</description>
      <category>react</category>
      <category>fullstack</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Jinno - IDE extension I made to preview React components</title>
      <dc:creator>Ender</dc:creator>
      <pubDate>Thu, 23 Jan 2025 07:08:05 +0000</pubDate>
      <link>https://dev.to/wegin/jinno-ide-extension-i-made-to-preview-react-components-2nj9</link>
      <guid>https://dev.to/wegin/jinno-ide-extension-i-made-to-preview-react-components-2nj9</guid>
      <description>&lt;p&gt;I built &lt;a href="https://www.jinno.app/redirect?from=personal&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; because I often found myself juggling between my code editor and browser to preview React components during development. It was frustrating and time-consuming, breaking my workflow and focus. With &lt;a href="https://www.jinno.app/redirect?from=personal&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt;, I can now see live previews of React components directly in VS Code, allowing me to iterate faster and stay fully immersed in coding. It’s a tool that eliminates distractions and makes the development process smoother and more enjoyable.&lt;/p&gt;

&lt;p&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%2Fcowjbq5397vnev3p4ygj.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%2Fcowjbq5397vnev3p4ygj.png" alt="Image description" width="800" height="495"&gt;&lt;/a&gt;&lt;br&gt;
You can try Jinno from here:&lt;a href="https://www.jinno.app/redirect?from=personal&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the key features of &lt;a href="https://www.jinno.app/redirect?from=personal&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; is its ability to isolate any React component from the rest of the project with just one click. By isolating the component, hot reload becomes significantly faster, as only the component itself is reloaded, not the entire app. I used to struggle with isolating components manually—it was a tedious and error-prone process that disrupted my workflow. This is why Jinno is such a game-changer: it handles the isolation for you, saving time and making development more efficient and enjoyable.&lt;/p&gt;

</description>
      <category>react</category>
      <category>nextjs</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Developing Components in Isolation: The Pros, Cons, and a Game-Changer Tool</title>
      <dc:creator>Ender</dc:creator>
      <pubDate>Tue, 21 Jan 2025 06:58:49 +0000</pubDate>
      <link>https://dev.to/wegin/developing-components-in-isolation-the-pros-cons-and-a-game-changer-tool-22p4</link>
      <guid>https://dev.to/wegin/developing-components-in-isolation-the-pros-cons-and-a-game-changer-tool-22p4</guid>
      <description>&lt;p&gt;In modern front-end development, isolating components and pages has become a popular approach. It allows developers to focus on small, self-contained parts of an application, promising increased efficiency and reusability. But isolation is not always straightforward—it comes with challenges, especially when integrating isolated work back into a large application. In this article, we'll explore the benefits and pitfalls of isolated development and how a new VSCode extension, &lt;a href="https://www.jinno.app/redirect?from=components_in_isolation&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;&lt;strong&gt;Jinno&lt;/strong&gt;&lt;/a&gt;, changes the game by offering effortless live previews of React components while maintaining a seamless connection to the larger application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.jinno.app/redirect?from=components_in_isolation&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;👉 Check Jinno out here&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Pros: Speed, Focus, and Reusability 🚀
&lt;/h2&gt;

&lt;p&gt;​ &lt;/p&gt;

&lt;h3&gt;
  
  
  Faster Development Cycles
&lt;/h3&gt;

&lt;p&gt;Isolating components reduces complexity and allows developers to focus on a single piece of functionality. Without the overhead of running an entire application, teams can iterate faster, leading to quicker delivery.&lt;/p&gt;

&lt;h3&gt;
  
  
  Focused, Cleaner Code
&lt;/h3&gt;

&lt;p&gt;Developers working in isolation can avoid distractions caused by unrelated parts of the application. This leads to cleaner and more modular code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Better Reusability
&lt;/h3&gt;

&lt;p&gt;When components are built in isolation, they are often designed to be more generic and reusable. This improves maintainability and reduces duplication across projects.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Cons: It's Not That Simple 🤔
&lt;/h2&gt;

&lt;p&gt;​ &lt;/p&gt;

&lt;h3&gt;
  
  
  Integration Challenges
&lt;/h3&gt;

&lt;p&gt;A component that works perfectly in isolation may break when integrated with the rest of the application. Factors like global state, context providers, or CSS dependencies frequently introduce hidden bugs that don’t surface in isolated environments.&lt;/p&gt;

&lt;h3&gt;
  
  
  Simulating Real Context
&lt;/h3&gt;

&lt;p&gt;To truly test components, developers need to simulate the application's context, such as state management and theming. Recreating this context is time-consuming and prone to errors, undermining the benefits of isolation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Limited Real-World Testing
&lt;/h3&gt;

&lt;p&gt;Isolated development environments can't fully simulate real-world interactions. Issues with performance, user interactions, and asynchronous data fetching often arise only after components are integrated.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tools for Isolated Development 🛠️
&lt;/h2&gt;

&lt;p&gt;​ &lt;/p&gt;

&lt;h3&gt;
  
  
  Storybook
&lt;/h3&gt;

&lt;p&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%2F1vplwdxdlvj3lgx1xm97.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%2F1vplwdxdlvj3lgx1xm97.png" alt="Storybook" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Storybook&lt;/strong&gt; is a widely popular tool for developing, testing, and documenting UI components in isolation. It’s a favorite among developers and open-source projects.&lt;br&gt;
&lt;strong&gt;Pros&lt;/strong&gt;: Robust ecosystem, rich addon support, and integration with testing libraries like Jest.&lt;br&gt;
&lt;strong&gt;Cons&lt;/strong&gt;: Extensive configuration overhead and performance issues in large projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  Bit
&lt;/h3&gt;

&lt;p&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%2Fvqy2dlu04v98fvrsxn8t.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%2Fvqy2dlu04v98fvrsxn8t.png" alt="Bit" width="300" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bit&lt;/strong&gt; specializes in sharing and collaborating on components, making it ideal for design systems and micro frontends.&lt;br&gt;
&lt;strong&gt;Pros&lt;/strong&gt;: Enables decentralized component sharing, promotes reuse, and provides a clear versioning system.&lt;br&gt;
&lt;strong&gt;Cons&lt;/strong&gt;: Steeper learning curve, reliance on a centralized platform, and added challenges in managing and maintaining the system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Styleguidist
&lt;/h3&gt;

&lt;p&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%2F06mozuuy45gse06onxlg.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%2F06mozuuy45gse06onxlg.png" alt="Styleguidist" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Styleguidist&lt;/strong&gt; is a straightforward tool for creating living style guides for React components. It’s less popular but highly useful for simplicity-focused teams.&lt;br&gt;
&lt;strong&gt;Pros&lt;/strong&gt;: Minimal setup, live examples, and clean documentation generation.&lt;br&gt;
&lt;strong&gt;Cons&lt;/strong&gt;: Limited ecosystem and scalability for larger projects.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://www.jinno.app/redirect?from=components_in_isolation&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt;: The Future of Isolated Development
&lt;/h2&gt;

&lt;p&gt;Despite the existing tools, isolation has always been tricky due to the need for real-world context during development. This is where &lt;a href="https://www.jinno.app/redirect?from=components_in_isolation&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt;, a revolutionary VSCode extension, comes in. Jinno eliminates the complexity of isolated development while maintaining a seamless connection to the larger application.&lt;/p&gt;

&lt;p&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%2Fkl9pv295fkwj34ympmcd.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%2Fkl9pv295fkwj34ympmcd.png" alt="Jinno Preview" width="800" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;​ &lt;/p&gt;

&lt;h2&gt;
  
  
  How &lt;a href="https://www.jinno.app/redirect?from=components_in_isolation&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; Works
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.jinno.app/redirect?from=components_in_isolation&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; scans your project, analyzing component dependencies, CSS, and other assets to generate a &lt;strong&gt;live preview&lt;/strong&gt; of your component. The fact that Jinno is seamlessly integrated into the VSCode IDE, eliminates the need to switch between tools, enabling a smoother, more intuitive workflow.&lt;/p&gt;

&lt;p&gt;But &lt;a href="https://www.jinno.app/redirect?from=components_in_isolation&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; goes a step further - it identifies and incorporates key application dependencies like context providers, state management libraries, themes, and even analyzes and generates prop values. This ensures that the preview environment reflects the real application, enabling you to develop and test components as they would appear in production. The ability to have an accurate, live preview without leaving your IDE is a game-changer for productivity.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.jinno.app/redirect?from=components_in_isolation&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;👉 Check it out here&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Jinno Stands Out
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Live Previews:&lt;/strong&gt; See your components exactly as they would render in your main application.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Integrated with VSCode:&lt;/strong&gt; Live previews are built directly into your IDE, providing instant feedback and making the development process smoother than ever.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Zero Configuration &amp;amp; Seamless Integration:&lt;/strong&gt; Finally a tool where you don't need to write custom configurations or set up additional tools, it does it for you, it detects all of your project dependencies, eliminating the need to manually simulate application context.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Enhanced Productivity:&lt;/strong&gt; Spend less time debugging integration issues and more time building features.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Isolated Development Made Easy with Jinno
&lt;/h2&gt;

&lt;p&gt;Developing in isolation has its advantages, but without the right tools, it can lead to challenges when integrating with the broader application. Tools like Storybook and Bit have laid the groundwork for isolated development, but &lt;a href="https://www.jinno.app/redirect?from=components_in_isolation&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt; takes it to the next level by bridging the gap between isolation and real-world application behavior.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.jinno.app/redirect?from=components_in_isolation&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;👉 Check it out here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With &lt;a href="https://www.jinno.app/redirect?from=components_in_isolation&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt;, front-end developers gain the best of both worlds: the efficiency of isolated development and the confidence of seamless integration. Whether you're working on a small personal project or collaborating on a large-scale application, Jinno empowers you to focus on what matters most—building exceptional user interfaces.&lt;/p&gt;

&lt;p&gt;So what do you think? Can it change the way you develop? 🤔🚀&lt;/p&gt;

</description>
      <category>react</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>frontend</category>
    </item>
    <item>
      <title>10 Must-Have VS Code Extensions for 2025 🔥</title>
      <dc:creator>Ender</dc:creator>
      <pubDate>Tue, 14 Jan 2025 08:39:16 +0000</pubDate>
      <link>https://dev.to/wegin/10-must-have-vs-code-extensions-for-2025-4od2</link>
      <guid>https://dev.to/wegin/10-must-have-vs-code-extensions-for-2025-4od2</guid>
      <description>&lt;p&gt;In the rapidly changing world of software development, having the right tools can significantly impact your workflow and efficiency. Visual Studio Code (VS Code) has become a favorite among developers globally, thanks to its flexibility and extensive features.&lt;/p&gt;

&lt;p&gt;This article highlights 10 essential VS Code extensions I'm using personally that I think every developer should explore this year.&lt;/p&gt;

&lt;p&gt;Whether you’re an experienced developer or just beginning your journey, these tools can help you code more efficiently, effectively, and with greater ease.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. &lt;a href="https://www.jinno.app/redirect?from=articel_1_10_extensions&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;Jinno&lt;/a&gt;: live preview React components inside VS code&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is a new and exciting one. In my opinion the wet dream for every frontend developer, Jinno creates a live preview for React components, side by side your code in zero configuration or extra installations and it doesn't matter which framework you are using.&lt;/p&gt;

&lt;p&gt;Extension link: &lt;br&gt;
&lt;a href="https://www.jinno.app/redirect?from=articel_1_10_extensions&amp;amp;redirect=vs" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=jinno.codelens-sample&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.jinno.app/redirect?from=articel_1_10_extensions&amp;amp;redirect=vs" rel="noopener noreferrer"&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%2Fg0tlqy9dsac9oaicweyr.png" alt="Image description" width="800" height="493"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2. WakaTime&lt;/strong&gt;&lt;br&gt;
WakaTime is a super cool website / extension that keeps track of the time you spend programming. It provides insights about the languages you spend the most time on, your coding trends, set goals, and more!&lt;/p&gt;

&lt;p&gt;Extension link:&lt;br&gt;
 &lt;a href="https://wakatime.com/" rel="noopener noreferrer"&gt;https://wakatime.com/&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Markdown Preview Enhanced&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A Markdown VS Code extension enhances Visual Studio Code by providing features like syntax highlighting, previewing, linting, and editing support for Markdown files, improving the writing and formatting experience.&lt;/p&gt;

&lt;p&gt;Extension link: &lt;br&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=shd101wyy.markdown-preview-enhanced" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=shd101wyy.markdown-preview-enhanced&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2F2fbcifgy1gwwld1jcpdi.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%2F2fbcifgy1gwwld1jcpdi.png" alt="Image description" width="602" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4. Code Runner&lt;/strong&gt;&lt;br&gt;
Run C, C++, Java, JS, PHP, Python, Perl, Ruby, Go, Lua, Groovy, PowerShell, CMD, BASH, F#, C#, VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml, R, AppleScript, Elixir, VB.NET, Clojure, Haxe, Obj-C, Rust, Racket, Scheme, AutoHotkey, AutoIt, Kotlin, Dart, Pascal, Haskell, Nim,&lt;/p&gt;

&lt;p&gt;Extension link: &lt;br&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;5. REST Client&lt;/strong&gt;&lt;br&gt;
REST Client for Visual Studio Code&lt;/p&gt;

&lt;p&gt;Extension link: &lt;br&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=humao.rest-client" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=humao.rest-client&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;6. Git History&lt;/strong&gt;&lt;br&gt;
Explore the Git log, review file history, and compare branches or specific commits.&lt;/p&gt;

&lt;p&gt;Extension link: &lt;br&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;7. Code Spell Checker&lt;/strong&gt;&lt;br&gt;
Spelling checker for source code&lt;/p&gt;

&lt;p&gt;Extension link: &lt;br&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;8. Git Lens&lt;/strong&gt;&lt;br&gt;
Supercharge Git within VS Code — Visualize code authorship at a glance via Git blame annotations and CodeLens, seamlessly navigate and explore Git repositories, gain valuable insights via rich visualizations and powerful comparison commands, and so much more&lt;/p&gt;

&lt;p&gt;Extension link: &lt;br&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fbof1e63sqt0vww9w1xm2.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%2Fbof1e63sqt0vww9w1xm2.png" alt="Image description" width="587" height="191"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;9. Bookmarks&lt;/strong&gt;&lt;br&gt;
Mark lines and jump to them&lt;/p&gt;

&lt;p&gt;Extension link: &lt;br&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=alefragnani.Bookmarks" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=alefragnani.Bookmarks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Multiple Cursor Case Preserve&lt;/strong&gt;&lt;br&gt;
Preserves case when editing with multiple cursors&lt;/p&gt;

&lt;p&gt;Extension link: &lt;br&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=Cardinal90.multi-cursor-case-preserve" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=Cardinal90.multi-cursor-case-preserve&lt;/a&gt;&lt;/p&gt;

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