<?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: David Haz</title>
    <description>The latest articles on DEV Community by David Haz (@davidhaz).</description>
    <link>https://dev.to/davidhaz</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%2F2676106%2F175df83b-1567-4e51-9806-ee88e863c63c.png</url>
      <title>DEV Community: David Haz</title>
      <link>https://dev.to/davidhaz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/davidhaz"/>
    <language>en</language>
    <item>
      <title>Introducing React Bits - A Library of Beautifully Animated React UI Components</title>
      <dc:creator>David Haz</dc:creator>
      <pubDate>Wed, 08 Jan 2025 15:30:26 +0000</pubDate>
      <link>https://dev.to/davidhaz/introducing-react-bits-a-library-of-beautifully-animated-react-ui-components-kcm</link>
      <guid>https://dev.to/davidhaz/introducing-react-bits-a-library-of-beautifully-animated-react-ui-components-kcm</guid>
      <description>&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%2F96rgr195ospyhhte4qdk.jpg" 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%2F96rgr195ospyhhte4qdk.jpg" alt="The logo type of React Bits, found on the landing page" width="800" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How A Small Project Caught Wind
&lt;/h2&gt;

&lt;p&gt;Last year when I launched what was then a pretty basic project called &lt;a href="//www.reactbits.dev/"&gt;React Bits&lt;/a&gt;, I thought that maybe a handful of people will find it &lt;strong&gt;helpful&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;But.. here we are today with nearly &lt;strong&gt;1,000 stars on GitHub&lt;/strong&gt;, and this happened in just over &lt;strong&gt;one week&lt;/strong&gt;! It might not seem like much compared to many other projects, but it's my first project that got this kind of support - so it's beyond anything I imagined, and I’m incredibly grateful for all the love and support from the community.&lt;/p&gt;

&lt;p&gt;And for a fun fact, I actually set this up in approximately one day of work, using &lt;strong&gt;React, ChakraUI, and Vercel&lt;/strong&gt; deployments for the actual documentation website, which is very very simple. Since then, it's grown pretty big, with now over &lt;strong&gt;30 components&lt;/strong&gt;, and more coming every day!&lt;/p&gt;

&lt;p&gt;I've also invested time into making the documentation better, the demos more interactive, the components more configurable - &lt;em&gt;you name it&lt;/em&gt;!&lt;/p&gt;

&lt;h2&gt;
  
  
  So, What Is React Bits?
&lt;/h2&gt;

&lt;p&gt;React Bits is my honestly just a very basic project, but it's my take on making animated UI components simple, flexible, and fun for React developers.&lt;/p&gt;

&lt;p&gt;Whether you’re into &lt;strong&gt;gsap, react-spring, or framer-motion&lt;/strong&gt;, the library has a little taste of everything, without committing to a specific approach. &lt;/p&gt;

&lt;p&gt;The same goes for &lt;strong&gt;Tailwind VS Vanilla CSS&lt;/strong&gt;. There's no strings attached, because most of the finalized components allow you to copy code for your preferred method of styling.&lt;/p&gt;

&lt;p&gt;Another thing, making static components is just not helpful to anybody, because you're going to have to go in and make a lot of changes if you want custom configurations. This is why I tried to add as many props and sliders and all kinds of tweak-able things inside all the components.&lt;/p&gt;

&lt;p&gt;And if you don't believe me, I mean just take a look at this prop table:&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%2F3s2b5zgw2h3wlubbu0q7.jpg" 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%2F3s2b5zgw2h3wlubbu0q7.jpg" alt="A table view of all the available props in a react component found on React Bits" width="800" height="703"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's Talk Components
&lt;/h2&gt;

&lt;p&gt;One main thing I want to offer with this library, is something I like to call &lt;strong&gt;"statement pieces"&lt;/strong&gt; - meaning something that you just add to a website and make people go &lt;strong&gt;"Wow, that's cool!".&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One example for this, for all the ball lovers in here, is the &lt;code&gt;&amp;lt;Ballpit /&amp;gt;&lt;/code&gt; component! Take a look:&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%2Fonx472dpgbpg73sf95if.jpg" 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%2Fonx472dpgbpg73sf95if.jpg" alt="A react component showing a 3D Ballpit that you can interact with and customize" width="800" height="633"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This specific component uses &lt;strong&gt;Three.JS&lt;/strong&gt; and lets you modify materials, physics, and many many other properties &amp;amp; just like that, if you want to play with some balls on a website, you copy the code, configure your preferences, and it's done!&lt;/p&gt;

&lt;p&gt;Now if you tilt your head sideways and look at this list, you'll see some other very funky names for components in here, like &lt;code&gt;Hyperspeed&lt;/code&gt;, &lt;code&gt;True Focus&lt;/code&gt;, &lt;code&gt;Crosshair&lt;/code&gt;, etc.&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%2Fmmisjvzr5x5qrdygz2r6.jpg" 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%2Fmmisjvzr5x5qrdygz2r6.jpg" alt="The complete list of current react components available on React Bits" width="800" height="156"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;They're all things you wouldn't typically find in most other libraries, because it's honestly a pain to set them up so that they become reusable React components haha!&lt;/p&gt;

&lt;h2&gt;
  
  
  Future Steps &amp;amp; Conclusions
&lt;/h2&gt;

&lt;p&gt;My ultimate goal is to add &lt;strong&gt;100+ unique components&lt;/strong&gt; to this library, and of course, keep it all &lt;strong&gt;100% free&lt;/strong&gt; and open source. Since right now I'm about 30% of the way there, it's exciting to think what the final version of this will look like!&lt;/p&gt;

&lt;p&gt;As for improvements to be made, I'm aware there is a lot to be done - like adding even more versatility, such as picking between JS and TS, which will again, respect the mission of having no strings attached to a specific architecture choice. That, and even more statement pieces are for sure coming soon!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I'll leave you with some links, and warm regards!&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Docs: &lt;a href="https://reactbits.dev/" rel="noopener noreferrer"&gt;https://reactbits.dev/&lt;/a&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  GitHub: &lt;a href="https://github.com/DavidHDev/react-bits" rel="noopener noreferrer"&gt;https://github.com/DavidHDev/react-bits&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;See you around, and thanks for reading!&lt;/p&gt;

</description>
      <category>react</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>coding</category>
    </item>
  </channel>
</rss>
