<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Joe</title>
    <description>The latest articles on Forem by Joe (@oieeaaaa).</description>
    <link>https://forem.com/oieeaaaa</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%2F92135%2Fcf1acbe2-09d4-4589-ad1e-e20781455beb.JPG</url>
      <title>Forem: Joe</title>
      <link>https://forem.com/oieeaaaa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/oieeaaaa"/>
    <language>en</language>
    <item>
      <title>Aahh Firebase</title>
      <dc:creator>Joe</dc:creator>
      <pubDate>Thu, 15 Oct 2020 17:01:56 +0000</pubDate>
      <link>https://forem.com/oieeaaaa/aahh-firebase-2bdd</link>
      <guid>https://forem.com/oieeaaaa/aahh-firebase-2bdd</guid>
      <description>&lt;p&gt;Many developers around the web and mobile have probably tried this BAAS thing called "firebase". Also many have said that it's nice, easy, it's developer focus yada, yada, yada... A lot of very optimistic feedback.&lt;/p&gt;

&lt;p&gt;So here is my one takeaway/feedback after using firebase for 2 months.&lt;/p&gt;

&lt;p&gt;Firebase is painful!&lt;/p&gt;

&lt;p&gt;They have this thing called &lt;strong&gt;data denormalization&lt;/strong&gt; which is a fancy term for duplicating your data.&lt;/p&gt;

&lt;p&gt;So I did that. But the painful part comes when you need to keep your data consistent across collections &amp;amp; subcollections.&lt;/p&gt;

&lt;p&gt;Look, I'm relatively new to firebase and I'm dying to find a better solution to this tedious process of updating each document in every collection &amp;amp; subcollection affected.&lt;/p&gt;

&lt;p&gt;I've been hanging around StackOverflow for hours and found some workarounds like batch &amp;amp; transactions but I still feel unsatisfied with these types of solutions.&lt;/p&gt;

&lt;p&gt;If you're planning to use firebase for your future apps... Why? And if you're already using firebase... Why?&lt;/p&gt;

&lt;p&gt;If we're sharing the same pain. I would love to know if you have found a way around it or if you've just stopped using firebase as you've learned helplessness.&lt;/p&gt;

</description>
      <category>firebase</category>
    </item>
    <item>
      <title>component #10 - Audio Player</title>
      <dc:creator>Joe</dc:creator>
      <pubDate>Fri, 26 Jul 2019 13:45:32 +0000</pubDate>
      <link>https://forem.com/oieeaaaa/component-10-audio-player-50mn</link>
      <guid>https://forem.com/oieeaaaa/component-10-audio-player-50mn</guid>
      <description>&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/2mwfn"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What I have learned?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How to make a custom Audio Player.&lt;/li&gt;
&lt;li&gt;How to enjoy making a custom Audio Player by keeping it simple. :D&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are the main challenges?
&lt;/h2&gt;

&lt;p&gt;Converting the audio current time (seconds) into &lt;code&gt;00:00&lt;/code&gt;. I was really having this silly thought of installing &lt;code&gt;momentjs&lt;/code&gt; just to have my desired format. 😂😂 So instead of doing that I'd decided to pull out my primary lifeline (stackoverflow) yep, I even put the link to the solution below.&lt;/p&gt;

&lt;p&gt;Overall this is a great experience of making a custom Audio player. &lt;/p&gt;

&lt;h2&gt;
  
  
  Why am I doing this anyway?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To learn.&lt;/li&gt;
&lt;li&gt;To have fun.&lt;/li&gt;
&lt;li&gt;To future Joimee (for reference).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://stackoverflow.com/questions/4605342/how-to-format-html5-audios-currenttime-property-with-javascript" rel="noopener noreferrer"&gt;Format Audio Current Time&lt;/a&gt;&lt;br&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement" rel="noopener noreferrer"&gt;HTMLMediaElement&lt;/a&gt;&lt;br&gt;
&lt;a href="https://dev.to/oieeaaaa/component-3-video-player-lm6"&gt;component #3 Video Player&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Salamat.&lt;/p&gt;

</description>
      <category>react</category>
    </item>
    <item>
      <title>component #9 - Radio</title>
      <dc:creator>Joe</dc:creator>
      <pubDate>Wed, 24 Jul 2019 11:26:44 +0000</pubDate>
      <link>https://forem.com/oieeaaaa/component-9-radio-1mgb</link>
      <guid>https://forem.com/oieeaaaa/component-9-radio-1mgb</guid>
      <description>&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/gv4xm"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What I have learned?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How to make custom Radio Input :D&lt;/li&gt;
&lt;li&gt;Finally applied &lt;a href="https://dev.to/aut0poietic"&gt;@jer&lt;/a&gt; advice on using a css sibling selector.&lt;/li&gt;
&lt;/ul&gt;


&lt;div class="liquid-comment"&gt;
    &lt;div class="details"&gt;
      &lt;a href="/aut0poietic"&gt;
        &lt;img class="profile-pic" 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%2Fuser%2Fprofile_image%2F190942%2F36094169-3c26-4aef-8490-e2ceea4e3f96.jpeg" alt="aut0poietic profile image"&gt;
      &lt;/a&gt;
      &lt;a href="/aut0poietic"&gt;
        &lt;span class="comment-username"&gt;Jer&lt;/span&gt;
      &lt;/a&gt;
      &lt;span class="color-base-30 px-2 m:pl-0"&gt;•&lt;/span&gt;

&lt;a href="https://dev.to/aut0poietic/comment/d662" class="comment-date crayons-link crayons-link--secondary fs-s"&gt;
  &lt;time class="date-short-year"&gt;
    Jul 18 '19
  &lt;/time&gt;

&lt;/a&gt;

    &lt;/div&gt;
    &lt;div class="body"&gt;
      

&lt;p&gt;Nice work &lt;a class="comment-mentioned-user" href="https://dev.to/oieeaaaa"&gt;@oieeaaaa&lt;/a&gt;
!&lt;/p&gt;

&lt;p&gt;On thing you might want to keep in mind is that anything set to &lt;code&gt;display: none&lt;/code&gt; is not available to screen readers or via the tab order -- so for those people that need a screen reader or navigate via keyboard can't interact with your switch. &lt;code&gt;visibility:hidden&lt;/code&gt; will do the same thing. &lt;/p&gt;

&lt;p&gt;For some unsolicited advice: One of the ways I've made this work (in a switch component in fact) is to give the label &lt;code&gt;position:relative&lt;/code&gt;, then position your switch UI (that is, the track, knob etc) as a child of the label (and thus a direct sibling of the input).  Then apply a relative position to both the input and switch ui, and position the input &lt;em&gt;beneath&lt;/em&gt; the switch UI. &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;label class="switch-container"&amp;gt;
   &amp;lt;input type="checkbox" value="is_dark" /&amp;gt;
   &amp;lt;div class="switch-ui"&amp;gt;...&amp;lt;/div&amp;gt;
&amp;lt;/label&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This structure enables some seriously cool CSS using the adjacent sibling selector. A partial example:&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;input[type="checkbox"]:checked + .switch-ui {
  // your checked styles here...
}

input[type="checkbox"]:focus + .switch-ui {
  // your focused styles here...
}

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

&lt;/div&gt;



&lt;p&gt;Those two selectors effectively say "When the input checkbox is checked, give the adjacent sibling of the input that has the class switch-ui these styles." The second statement does the same when the checkbox is focused.&lt;/p&gt;

&lt;p&gt;The benefit is that this is much less work for both you and your javascript. You just define a few states as classes and all the browser handles the rest. All your React class has to do is maintain the checked state of the input itself. &lt;/p&gt;

&lt;p&gt;Again, this is nice work. Keep it up!&lt;/p&gt;



    &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  What are the main challenges?
&lt;/h2&gt;

&lt;p&gt;Hmmm... :/&lt;/p&gt;

&lt;h2&gt;
  
  
  Why am I doing this anyway?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To learn.&lt;/li&gt;
&lt;li&gt;To have fun.&lt;/li&gt;
&lt;li&gt;To future Joimee (for reference).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://www.w3schools.com/howto/howto_css_custom_checkbox.asp" rel="noopener noreferrer"&gt;How To Create a Custom Radio Button&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Salamat.&lt;/p&gt;

</description>
      <category>react</category>
    </item>
    <item>
      <title>component #8 - Accordion</title>
      <dc:creator>Joe</dc:creator>
      <pubDate>Tue, 23 Jul 2019 23:05:13 +0000</pubDate>
      <link>https://forem.com/oieeaaaa/component-8-accordion-575c</link>
      <guid>https://forem.com/oieeaaaa/component-8-accordion-575c</guid>
      <description>&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/7hxcg"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What I have learned?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How to make a simple accordion.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are the main challenges?
&lt;/h2&gt;

&lt;p&gt;animation. So I removed it instead. LOL&lt;/p&gt;

&lt;h2&gt;
  
  
  Why am I doing this anyway?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To learn.&lt;/li&gt;
&lt;li&gt;To have fun.&lt;/li&gt;
&lt;li&gt;To future Joimee (for reference).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://dev.to/oieeaaaa/component-7-tabs-1jcp"&gt;Component #7 Tabs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Salamat.&lt;/p&gt;

</description>
      <category>react</category>
    </item>
    <item>
      <title>component #7 - Tabs</title>
      <dc:creator>Joe</dc:creator>
      <pubDate>Mon, 22 Jul 2019 20:10:46 +0000</pubDate>
      <link>https://forem.com/oieeaaaa/component-7-tabs-1jcp</link>
      <guid>https://forem.com/oieeaaaa/component-7-tabs-1jcp</guid>
      <description>&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/0tqxo"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What I have learned?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How to make a simple tabs using React :D&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are the main challenges?
&lt;/h2&gt;

&lt;p&gt;Making it complex later... 🤔🤔&lt;/p&gt;

&lt;h2&gt;
  
  
  Why am I doing this anyway?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To learn.&lt;/li&gt;
&lt;li&gt;To have fun.&lt;/li&gt;
&lt;li&gt;To future Joimee (for reference).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://www.imdb.com/" rel="noopener noreferrer"&gt;IMDB&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Salamat.&lt;/p&gt;

</description>
      <category>react</category>
    </item>
    <item>
      <title>component #6 - Scroll Table</title>
      <dc:creator>Joe</dc:creator>
      <pubDate>Mon, 22 Jul 2019 19:24:49 +0000</pubDate>
      <link>https://forem.com/oieeaaaa/component-6-scroll-table-5d2g</link>
      <guid>https://forem.com/oieeaaaa/component-6-scroll-table-5d2g</guid>
      <description>&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/xlk29"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What I have learned?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Improve the UX for table using &lt;a href="https://github.com/CassetteRocks/react-infinite-scroller" rel="noopener noreferrer"&gt;react-infinite-scroller&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are the main challenges?
&lt;/h2&gt;

&lt;p&gt;Can't set the height directly to the table element so I try to search in stackoverflow for answers and I've found that you can use a wrapper for the table and add the &lt;code&gt;max-height&lt;/code&gt; to that wrapper not the table itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why am I doing this anyway?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To learn.&lt;/li&gt;
&lt;li&gt;To have fun.&lt;/li&gt;
&lt;li&gt;To future Joimee (for reference).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://stackoverflow.com/questions/20293492/max-height-in-html-table" rel="noopener noreferrer"&gt;Set Max-Height in HTML Table&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/CassetteRocks/react-infinite-scroller" rel="noopener noreferrer"&gt;react-infinite-scroller&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Salamat.&lt;/p&gt;

</description>
      <category>react</category>
    </item>
    <item>
      <title>component #5 - Switch</title>
      <dc:creator>Joe</dc:creator>
      <pubDate>Thu, 18 Jul 2019 13:25:34 +0000</pubDate>
      <link>https://forem.com/oieeaaaa/component-6-switch-e51</link>
      <guid>https://forem.com/oieeaaaa/component-6-switch-e51</guid>
      <description>&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/m8khg"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What I have learned?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;That we can also use css vars instead of react context when only trying to theme a component.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;That you can still trigger the onChange event handler of an input even though it has a &lt;code&gt;display: none&lt;/code&gt; style. But you have to wrap that input inside of a &lt;code&gt;&amp;lt;label&amp;gt;[input goes here]&amp;lt;/label&amp;gt;&lt;/code&gt; tag and use the &lt;code&gt;htmlFor&lt;/code&gt; props.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are the main challenges?
&lt;/h2&gt;

&lt;p&gt;That switch component seems not to be enough. So I've had to come up with an example on which to apply that switch component.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why am I doing this anyway?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To learn.&lt;/li&gt;
&lt;li&gt;To have fun.&lt;/li&gt;
&lt;li&gt;To future Joimee (for reference).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties" rel="noopener noreferrer"&gt;Using CSS custom properties&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.w3schools.com/css/css3_variables.asp" rel="noopener noreferrer"&gt;CSS Variables&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Salamat.&lt;/p&gt;

</description>
      <category>react</category>
    </item>
    <item>
      <title>component #4 - Modal</title>
      <dc:creator>Joe</dc:creator>
      <pubDate>Wed, 17 Jul 2019 11:16:07 +0000</pubDate>
      <link>https://forem.com/oieeaaaa/component-4-modal-53p6</link>
      <guid>https://forem.com/oieeaaaa/component-4-modal-53p6</guid>
      <description>&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/i9dif"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What I have learned?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How to animate modal.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are the main challenges?
&lt;/h2&gt;

&lt;p&gt;Aligning &lt;code&gt;div&lt;/code&gt; to center. 😂😂&lt;/p&gt;

&lt;h2&gt;
  
  
  Why am I doing this anyway?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To learn.&lt;/li&gt;
&lt;li&gt;To have fun.&lt;/li&gt;
&lt;li&gt;To future Joimee (for reference).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://codepen.io/sdthornton/pen/wBZdXq" rel="noopener noreferrer"&gt;Material Design box-shadow&lt;/a&gt;&lt;br&gt;
&lt;a href="https://lipsum.com/feed/html" rel="noopener noreferrer"&gt;Lorem Ipsum&lt;/a&gt;&lt;br&gt;
&lt;a href="https://uigradients.com/#Portrait" rel="noopener noreferrer"&gt;UI Gradient&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.animista.net/play/entrances/scale-in" rel="noopener noreferrer"&gt;Animista&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Salamat.&lt;/p&gt;

</description>
      <category>react</category>
    </item>
    <item>
      <title>component #3 - Video Player</title>
      <dc:creator>Joe</dc:creator>
      <pubDate>Tue, 16 Jul 2019 20:23:58 +0000</pubDate>
      <link>https://forem.com/oieeaaaa/component-3-video-player-lm6</link>
      <guid>https://forem.com/oieeaaaa/component-3-video-player-lm6</guid>
      <description>&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/sjer4"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What I have learned?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;That it's not easy to customize the controls of a video player.&lt;/li&gt;
&lt;li&gt;Support cross browser platforms with the ultimate &lt;code&gt;||&lt;/code&gt; logical operator.&lt;/li&gt;
&lt;li&gt;Use the mind-blowing &lt;code&gt;&amp;lt;progress&amp;gt;&amp;lt;/progress&amp;gt;&lt;/code&gt; html tag.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are the main challenges?
&lt;/h2&gt;

&lt;p&gt;I haven't tried doing this before. &lt;br&gt;
So this is my first time making a custom video player and I really enjoy doing it and having fun playing around with their &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement" rel="noopener noreferrer"&gt;Media Api&lt;/a&gt;. It's coooool!&lt;/p&gt;

&lt;h2&gt;
  
  
  Why am I doing this anyway?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To learn.&lt;/li&gt;
&lt;li&gt;To have fun.&lt;/li&gt;
&lt;li&gt;To future Joimee (for reference).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/Guide/Audio_and_video_delivery/Video_player_styling_basics" rel="noopener noreferrer"&gt;Video player styling basics&lt;/a&gt;&lt;br&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement" rel="noopener noreferrer"&gt;Media Api&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Salamat.&lt;/p&gt;

</description>
      <category>react</category>
    </item>
    <item>
      <title>component #2 - Card</title>
      <dc:creator>Joe</dc:creator>
      <pubDate>Thu, 11 Jul 2019 13:42:39 +0000</pubDate>
      <link>https://forem.com/oieeaaaa/component-2-card-4m9g</link>
      <guid>https://forem.com/oieeaaaa/component-2-card-4m9g</guid>
      <description>&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/7os51"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What I have learned?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;CSS can be simply complex.&lt;/li&gt;
&lt;li&gt;How to make a wave effect.&lt;/li&gt;
&lt;li&gt;Using the *:not(:last-child) selector.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I feel like I'm a CSS pro here! LOL&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the main challenges?
&lt;/h2&gt;

&lt;p&gt;Different way of styling to the same element. I've tried to put a background as an inline style to the element so I can make the background dynamic since I have to pass a url link to that background rule and after that I create a class called &lt;code&gt;.card&lt;/code&gt; and put it into that element and I've added some more rules such as background-size, background-cover and background-position to maintain the aspect ratio of the image regardless of the container width and height. And this is what happens when I try to inspect the problem using Chrome Devtools.&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%2Fe8jhurliqg8os3uz688c.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%2Fe8jhurliqg8os3uz688c.png" alt="Bug" width="642" height="258"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why am I doing this anyway?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To learn.&lt;/li&gt;
&lt;li&gt;To have fun.&lt;/li&gt;
&lt;li&gt;To future Joimee (for reference).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=dpw9EHDh2bM&amp;amp;t=4520s" rel="noopener noreferrer"&gt;React Today and Tomorrow and 90% Cleaner React With Hooks&lt;/a&gt;&lt;br&gt;
&lt;a href="https://reactjs.org/docs/hooks-reference.html" rel="noopener noreferrer"&gt;Hooks Reference&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Salamat.&lt;/p&gt;

</description>
      <category>react</category>
    </item>
    <item>
      <title>component #1 - Carousel</title>
      <dc:creator>Joe</dc:creator>
      <pubDate>Wed, 10 Jul 2019 13:52:50 +0000</pubDate>
      <link>https://forem.com/oieeaaaa/component-1-carousel-3d3f</link>
      <guid>https://forem.com/oieeaaaa/component-1-carousel-3d3f</guid>
      <description>&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/fwq72"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What I have learned?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;How to &lt;em&gt;useState&lt;/em&gt;.&lt;br&gt;
Coding with react for several months and dealing with classes I now find that using state inside a function is just amazing. 😌&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How to &lt;em&gt;useEffect&lt;/em&gt;.&lt;br&gt;
Handling side effects inside the useEffect and clean up when necessary.&lt;br&gt;
And telling to that effect when and when not to run to optimize the performance. This is made possible by passing the second argument for useEffect.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Using keys to have a unique element or component.&lt;br&gt;
Before I thought that keys are only meant for making a unique item when mapping a list to remove the intimidating warning message from console.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are the main challenges?
&lt;/h2&gt;

&lt;p&gt;As I develop this component I'm kinda doubtful for each solution that I'm going to try, knowing that it has the chance to solve the problem. I still get very uncomfortable doing it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why am I doing this anyway?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To learn.&lt;/li&gt;
&lt;li&gt;To have fun.&lt;/li&gt;
&lt;li&gt;To future Joimee (for reference).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=dpw9EHDh2bM&amp;amp;t=4520s" rel="noopener noreferrer"&gt;React Today and Tomorrow and 90% Cleaner React With Hooks&lt;/a&gt;&lt;br&gt;
&lt;a href="https://reactjs.org/docs/hooks-reference.html" rel="noopener noreferrer"&gt;Hooks Reference&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Salamat.&lt;/p&gt;

</description>
      <category>react</category>
    </item>
    <item>
      <title>30 components / month</title>
      <dc:creator>Joe</dc:creator>
      <pubDate>Tue, 09 Jul 2019 13:48:03 +0000</pubDate>
      <link>https://forem.com/oieeaaaa/30-components-month-3lm0</link>
      <guid>https://forem.com/oieeaaaa/30-components-month-3lm0</guid>
      <description>&lt;p&gt;I'm going to challenge my self to write one component a day for 30 days consistently.&lt;/p&gt;

&lt;p&gt;Rules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It doesn't need to work.&lt;/li&gt;
&lt;li&gt;It doesn't need to look great.&lt;/li&gt;
&lt;li&gt;I must learn something.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Wish me luck guys... :)&lt;/p&gt;

&lt;p&gt;Salamat.&lt;/p&gt;

</description>
      <category>react</category>
    </item>
  </channel>
</rss>
