<?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: fazuelinton</title>
    <description>The latest articles on DEV Community by fazuelinton (@fazuelinton).</description>
    <link>https://dev.to/fazuelinton</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%2F218996%2F702bbaed-5d62-41f8-a3f6-82f6a1cf657e.jpeg</url>
      <title>DEV Community: fazuelinton</title>
      <link>https://dev.to/fazuelinton</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fazuelinton"/>
    <language>en</language>
    <item>
      <title>Chakra checkbox and react-hook-form</title>
      <dc:creator>fazuelinton</dc:creator>
      <pubDate>Wed, 26 Apr 2023 22:54:39 +0000</pubDate>
      <link>https://dev.to/fazuelinton/chakra-checkbox-and-react-hook-form-2mcg</link>
      <guid>https://dev.to/fazuelinton/chakra-checkbox-and-react-hook-form-2mcg</guid>
      <description>&lt;p&gt;My goal was to create a list of checkboxes with fixed values i.e. Nuts, Gluten, Dairy, etc. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F1qbaf5v2c5lchb4sglyi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F1qbaf5v2c5lchb4sglyi.png" alt="screenshot of a list of checkboxes"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After fetching the data and wiring it up with react-hook-form here's what I did:&lt;/p&gt;

&lt;h2&gt;
  
  
  import the required packages from libs
&lt;/h2&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Controller&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;react-hook-form&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;Checkbox&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="nx"&gt;CheckboxGroup&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="nx"&gt;CheckboxProps&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="nx"&gt;FormControl&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="nx"&gt;forwardRef&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;@chakra-ui/react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  create a new component &lt;code&gt;CheckboxCustom&lt;/code&gt;
&lt;/h2&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;

&lt;span class="p"&gt;...&lt;/span&gt;

&lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;CheckboxCustomProps&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;CheckboxProps&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;control&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;any&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;children&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ReactNode&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;CheckboxCustom&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;forwardRef&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;CheckboxCustomProps&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;input&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(({&lt;/span&gt; &lt;span class="nx"&gt;children&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;rest&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="nx"&gt;ref&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;rest&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;control&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="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Controller&lt;/span&gt;
      &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;rest&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;control&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;rest&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;control&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="nx"&gt;render&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{({&lt;/span&gt; &lt;span class="na"&gt;field&lt;/span&gt;&lt;span class="p"&gt;:&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="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Checkbox&lt;/span&gt; &lt;span class="nx"&gt;ref&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;ref&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;isChecked&lt;/span&gt;&lt;span class="o"&gt;=&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="p"&gt;{...&lt;/span&gt;&lt;span class="nx"&gt;rest&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;children&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Checkbox&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="p"&gt;)}&lt;/span&gt;
    &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&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;
  
  
  use the custom component to render the checkboxes
&lt;/h2&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;

&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;FormControl&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;CheckboxGroup&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;SimpleGrid&lt;/span&gt; &lt;span class="nx"&gt;columns&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;CheckboxCustom&lt;/span&gt; &lt;span class="nx"&gt;control&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;control&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;{...&lt;/span&gt;&lt;span class="nf"&gt;register&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;noNuts&lt;/span&gt;&lt;span class="dl"&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="nx"&gt;Nuts&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/CheckboxCustom&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;CheckboxCustom&lt;/span&gt; &lt;span class="nx"&gt;control&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;control&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;{...&lt;/span&gt;&lt;span class="nf"&gt;register&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;noGluten&lt;/span&gt;&lt;span class="dl"&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="nx"&gt;Gluten&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/CheckboxCustom&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;
      &lt;span class="p"&gt;...&lt;/span&gt;

    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/SimpleGrid&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/CheckboxGroup&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/FormControl&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
    </item>
    <item>
      <title>Beginners: Practicing is the most important outcome</title>
      <dc:creator>fazuelinton</dc:creator>
      <pubDate>Wed, 06 Oct 2021 16:17:49 +0000</pubDate>
      <link>https://dev.to/fazuelinton/beginners-practicing-is-the-most-important-outcome-4clj</link>
      <guid>https://dev.to/fazuelinton/beginners-practicing-is-the-most-important-outcome-4clj</guid>
      <description>&lt;p&gt;The life of a newbie programmer can be very frustrating sometimes. Getting stuck and not being able to see results early on can often make people give up.&lt;br&gt;
Here's a word of hope from a fellow newbie programmer.&lt;/p&gt;

&lt;p&gt;I was reading &lt;a href="https://www.amazon.com/Giannis-Improbable-Rise-NBA-MVP/dp/0306924129"&gt; Giannis: The Improbable Rise of an NBA MVP&lt;/a&gt;, a book about Giannis Antetokounmpo's rise from poverty in Athens, Greece to super-stardom in America. As an NBA fan the whole book is amazing. &lt;/p&gt;

&lt;p&gt;As a self-taught developer myself, one thing got me:&lt;/p&gt;

&lt;p&gt;Giannis and his brother Thanasis bring up a video they saw on YouTube - which I didn't find -, where three men had to cut down a tree. The book mentions:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"The first man was swinging his axe hard at the tree. But after a few hours, he stopped. The second man whacked the tree for four hours, six hours, then stopped. The third man kept chopping at the tree, nonstop, refusing to quit.&lt;br&gt;
The other two men were amazed that he kept at it for hours on end, but when they came closer to him, they realized the man had on a blindfold. He hadn't wanted to see his results, because if he had seen his results, he'd get discouraged. Instead, working blindfolded fostered the mentality that every time he took a swing, he believed the tree would fall."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After two years of learning how to code, being in my thirties and alternating between other responsibilities, I feel like having to chop down a whole forest almost every day. Sadly, I barely see sophisticated results such as beautiful interactive webpages or complex APIs. It can be very frustrating some days. Stare at the screen contemplating how little I did in terms of &lt;em&gt;working functionalities&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;If the feelings of the former paragraph resonate on you, young developer - regardless of your age -, stay strong. Things will click at some point. If they don't, it's fine too. The majority of sophisticated application will be built by a team of full time developers. You can still be an average programmer and find good paying jobs that will put you in touch with more experienced people. These people will most definitely contribute to your personal development.&lt;/p&gt;

&lt;p&gt;There are many messages you can take from the book's quote. Analogies are usually good to simplify and talk about very complex situations - like learning difficult topics such as programming.&lt;/p&gt;

&lt;p&gt;A few take aways to me are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Don't put too much attention on the results of your studies. The quality of the &lt;em&gt;working software&lt;/em&gt; you are producing while practicing doesn't matter much at this point of your journey&lt;/li&gt;
&lt;li&gt;Make sure you are investing solid hours into practicing the right thing. Look up for fundamentals and put them into practice. Don't try to chop down all and every tree of the forest. Aim a single technology first&lt;/li&gt;
&lt;li&gt;When you're practicing make sure that's the only thing you're doing. Four or five sessions of 25 to 50 minutes, no outside world interruptions. Every day&lt;/li&gt;
&lt;li&gt;Stay strong&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;PS: Motivational blogs tend to make some people's eyes roll. It is not easy at all. The journey of becoming a developer is way harder then following a 4 bullet points magic list. Still, the excerpt from Giannis' book really touched me this morning. It connected deep with my experience. This blog is almost like talking to myself to be honest. It's been worthwhile already. I hope it gives you a slight boost as well. Don't give up!&lt;/p&gt;

&lt;p&gt;Cover photo by &lt;a href="https://unsplash.com/@michaelbenz?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Michael Benz&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/forest?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>codenewbie</category>
      <category>motivation</category>
    </item>
    <item>
      <title>Simple text blinking animation using styled-components</title>
      <dc:creator>fazuelinton</dc:creator>
      <pubDate>Sun, 09 Aug 2020 20:04:48 +0000</pubDate>
      <link>https://dev.to/fazuelinton/simple-text-blinking-animation-using-styled-components-3bi5</link>
      <guid>https://dev.to/fazuelinton/simple-text-blinking-animation-using-styled-components-3bi5</guid>
      <description>&lt;h1&gt;
  
  
  tl;dr
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from 'react';
import styled, { keyframes } from 'styled-components'

function blinkingEffect() {
  return keyframes`
    50% {
      opacity: 0;
    }
  `;
}

const AnimatedComponent = styled.div`
  animation: ${blinkingEffect} 1s linear infinite;
`
const App = () =&amp;gt; {
  return (
    &amp;lt;AnimatedComponent&amp;gt;_&amp;lt;/AnimatedComponent&amp;gt;
  )
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Issue
&lt;/h1&gt;

&lt;p&gt;My app is pretty simple and I created it for learning purposes. &lt;br&gt;
The user must enter a binary value and the app converts the value into a decimal number. You can try it here: &lt;a href="https://jovial-wilson-a92dc1.netlify.app/"&gt;https://jovial-wilson-a92dc1.netlify.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After adding the main functionalities I wanted to use CSS to animate the output field.&lt;br&gt;
&lt;em&gt;The output field must show a blinking underscore character until the user types a valid binary value&lt;/em&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TmKyDH-c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/rkqi3p79km827yvx2is4.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TmKyDH-c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/rkqi3p79km827yvx2is4.gif" alt="Alt Text" width="640" height="600"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  Solution
&lt;/h1&gt;

&lt;p&gt;I first added styled-components to the project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;yarn add styled-components
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then I imported styled-components' &lt;code&gt;styled&lt;/code&gt; and &lt;code&gt;keyframes&lt;/code&gt; into my App:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import styled, { keyframes } from 'styled-components'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For &lt;code&gt;keyframes&lt;/code&gt; to work with styled-components, I created a function outside of my App:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function blinkingEffect() {
  return keyframes`
    50% {
      opacity: 0;
    }
  `;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can name the function whatever. Remembering that &lt;code&gt;keyframes&lt;/code&gt; is a CSS concept. Keyframes controls the intermediate steps in a CSS animation.&lt;/p&gt;

&lt;p&gt;Our animation is defined after as a styled component and it references our keyframes function &lt;code&gt;blinkingEffect&lt;/code&gt; declared before:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const AnimatedComponent = styled.div`
  animation: ${blinkingEffect} 1s linear infinite;
`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lastly, I created our react App which returns the &lt;code&gt;AnimatedComponent&lt;/code&gt; and some text - that will blink according to the implementation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const App = () =&amp;gt; {
  return (
    &amp;lt;AnimatedComponent&amp;gt;_&amp;lt;/AnimatedComponent&amp;gt;
  )
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;This is a pretty simple app and animation for learning purposes. I googled &lt;em&gt;text-blink animation&lt;/em&gt; and didn't find the solution exactly, so I created this post. I hope it helps you too!&lt;/p&gt;

&lt;p&gt;The code posted here isn't functional since you have to configure your app using &lt;code&gt;create-react-app&lt;/code&gt; or something similar.&lt;/p&gt;

&lt;p&gt;You can find the &lt;em&gt;convert binary to decimal app&lt;/em&gt; code here: &lt;a href="https://github.com/veller/app-ideas-Bin2Dec"&gt;https://github.com/veller/app-ideas-Bin2Dec&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here's another source that helped me to get to the solution: &lt;a href="https://github.com/styled-components/styled-components/issues/14"&gt;https://github.com/styled-components/styled-components/issues/14&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>css</category>
      <category>styledcomponents</category>
      <category>animation</category>
    </item>
  </channel>
</rss>
