<?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: Atulit Anand</title>
    <description>The latest articles on DEV Community by Atulit Anand (@icecoffee).</description>
    <link>https://dev.to/icecoffee</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%2F583438%2F92433522-a866-4856-83da-7f76bc01a360.gif</url>
      <title>DEV Community: Atulit Anand</title>
      <link>https://dev.to/icecoffee</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/icecoffee"/>
    <language>en</language>
    <item>
      <title>async actions in react-redux</title>
      <dc:creator>Atulit Anand</dc:creator>
      <pubDate>Thu, 12 Aug 2021 11:50:41 +0000</pubDate>
      <link>https://dev.to/icecoffee/async-actions-in-react-redux-17p4</link>
      <guid>https://dev.to/icecoffee/async-actions-in-react-redux-17p4</guid>
      <description>&lt;p&gt;&lt;code&gt;Redux&lt;/code&gt; is a widely opinionated tool for state management. Although it's not exclusively made for &lt;code&gt;react&lt;/code&gt; but it's praised by a lot of react developers.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Redux&lt;/code&gt; uses a big javascript object called the &lt;code&gt;state&lt;/code&gt; tree to store and preserve the global state of the application. &lt;/p&gt;

&lt;p&gt;Which we can access via dispatching actions to the reducer. &lt;/p&gt;

&lt;p&gt;Reducer is a special function and in a higher-level language, I can say reducer is something that takes the original part of the state that it needs to work on and the action that you want it to do and gives away the result. Like a black box.&lt;/p&gt;

&lt;p&gt;Now this is a very beautiful concept but you can not do something like this.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;reducer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;initialState&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;action&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="kd"&gt;let&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;users&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;action&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="nx"&gt;LOAD_USER&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="nx"&gt;userData&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;loadUser&lt;/span&gt;&lt;span class="p"&gt;(...);&lt;/span&gt;
        &lt;span class="nx"&gt;users&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;userData&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;...&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&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;To fetch and update state tree with async data, the traditional way is to use applyMiddleWare or some 3rd partly library like redux-thunk. But I won't be using that.&lt;/p&gt;

&lt;p&gt;To bypass all the fuss we'll use a little trick.&lt;br&gt;
Since react takes care of all the visual state of the application we just have to make sure that after our async function completes it should somehow tell redux that "yo! buddy I have done the thing that you asked for" and then redux can simply add/modify that information inside the global state tree.&lt;/p&gt;

&lt;p&gt;And here is how we can do that.&lt;/p&gt;
&lt;h2&gt;
  
  
  Loading Async Data in reducer
&lt;/h2&gt;

&lt;p&gt;This is a multi-step process&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;First we will pass an action to the reducer which will make an async call. &lt;/li&gt;
&lt;li&gt;Then on the callback of that async action we will set up another dispatch that will be called after that async action completes.&lt;/li&gt;
&lt;li&gt;In the meanwhile we can return that state of the tree with an isLoading label set to true from the original action.&lt;/li&gt;
&lt;li&gt;The on-completion action will just return the state with the modified values and the loading label to false.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;et voila.&lt;/p&gt;
&lt;h3&gt;
  
  
  Example Application.
&lt;/h3&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%2Fub7zdlkhbvrqbyuyqzgm.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%2Fub7zdlkhbvrqbyuyqzgm.png" alt="Example Application Screenshot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this application, I have used the same concept to load users asynchronously from &lt;a href=""&gt;jsonplaceholder. api&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can check out the Github repo from here 👇 &lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&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%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/atulitanand" rel="noopener noreferrer"&gt;
        atulitanand
      &lt;/a&gt; / &lt;a href="https://github.com/atulitanand/redux-users-app" rel="noopener noreferrer"&gt;
        redux-users-app
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;REDUX for async tasks&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;You can manage async data in redux via two methods&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Via 3rd party liberary like redux thunk&lt;/li&gt;
&lt;li&gt;Unhealthy but simple way : Kind of a ruse&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I am not using the second way because it adds additional compelexiy of the middle ware.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Main concept behind 2nd method&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;Since state of the application changes everytime the state tree changes. I can dispatch &lt;code&gt;onCompletion&lt;/code&gt; action in the callback&lt;code&gt;asyncLoading&lt;/code&gt; action which is inside the &lt;code&gt;reducer&lt;/code&gt;.&lt;/p&gt;

&lt;div class="highlight highlight-source-js notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-k"&gt;const&lt;/span&gt; &lt;span class="pl-en"&gt;reducer&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s1"&gt;state&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s1"&gt;initialState&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt; &lt;span class="pl-s1"&gt;action&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt; &lt;span class="pl-c1"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;
    &lt;span class="pl-k"&gt;let&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt; users &lt;span class="pl-kos"&gt;}&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s1"&gt;state&lt;/span&gt;&lt;span class="pl-kos"&gt;;&lt;/span&gt;
    &lt;span class="pl-k"&gt;if&lt;/span&gt; &lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s1"&gt;action&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-c1"&gt;type&lt;/span&gt; &lt;span class="pl-c1"&gt;===&lt;/span&gt; &lt;span class="pl-c1"&gt;DONE&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;
        &lt;span class="pl-smi"&gt;console&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-en"&gt;log&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s"&gt;'-updated-'&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;
        &lt;span class="pl-k"&gt;return&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt; ...&lt;span class="pl-s1"&gt;state&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt; &lt;span class="pl-c1"&gt;loading&lt;/span&gt;: &lt;span class="pl-c1"&gt;false&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;
    &lt;span class="pl-kos"&gt;}&lt;/span&gt; &lt;span class="pl-k"&gt;else&lt;/span&gt; &lt;span class="pl-k"&gt;if&lt;/span&gt; &lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s1"&gt;action&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-c1"&gt;type&lt;/span&gt; &lt;span class="pl-c1"&gt;===&lt;/span&gt; &lt;span class="pl-c1"&gt;LOAD_USER&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;
        &lt;span class="pl-en"&gt;loadUser&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;...&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-s1"&gt;then&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s1"&gt;user&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt; &lt;span class="pl-c1"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;
            &lt;span class="pl-s1"&gt;users&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-en"&gt;push&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s1"&gt;user&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;/pre&gt;…
&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/atulitanand/redux-users-app" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;h3&gt;
  
  
  Live Demo
&lt;/h3&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/redux-user-app-9h9kg"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Thanks for reading.&lt;br&gt;
Hope this may have added a little value, however small that may be.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cover Image: &lt;br&gt;
&lt;a href="https://medium.com/swlh/handling-asynchronous-actions-with-redux-thunk-86b8d8e0b83e" rel="noopener noreferrer"&gt;https://medium.com/swlh/handling-asynchronous-actions-with-redux-thunk-86b8d8e0b83e&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This article by &lt;a href="https://medium.com/swlh/handling-asynchronous-actions-with-redux-thunk-86b8d8e0b83e" rel="noopener noreferrer"&gt;Robin Kim&lt;/a&gt; follows the redux-thunk middleware approach so it's my advice to check it out.&lt;/p&gt;

&lt;p&gt;Thanks again! Have a lovely day.&lt;/p&gt;

</description>
      <category>react</category>
      <category>redux</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Fluent Terminal Themes</title>
      <dc:creator>Atulit Anand</dc:creator>
      <pubDate>Thu, 29 Jul 2021 15:23:34 +0000</pubDate>
      <link>https://dev.to/icecoffee/fluent-terminal-themes-190m</link>
      <guid>https://dev.to/icecoffee/fluent-terminal-themes-190m</guid>
      <description>&lt;p&gt;Since the last couple of days I started using fluent terminal instead of my regular cmd shell. Which is pretty good by the way but fluent terminal is pretty dope because it offers something that all of us crave for. &lt;/p&gt;

&lt;p&gt;Switching themes 🙂 ikr&lt;/p&gt;

&lt;p&gt;For more info. about fluent terminal is general you can checkout this post by &lt;a href="https://dev.to/darksmile92"&gt;Robin Kretzschmar&lt;/a&gt;&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/darksmile92" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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%2Fuser%2Fprofile_image%2F41170%2Fc66534e9-5530-418d-8cd1-9fbf48fa5681.jpeg" alt="darksmile92"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/darksmile92/windows-10-fluentterminal-5a24" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Windows 10 FluentTerminal&lt;/h2&gt;
      &lt;h3&gt;Robin Kretzschmar ・ May 15 '19&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#windows&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#terminal&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#productivity&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#wsl&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;I'm here to present you with collection of themes that you can use in the fluent terminal. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://windowsterminalthemes.dev/" rel="noopener noreferrer"&gt;https://windowsterminalthemes.dev/&lt;/a&gt; provides us with about &lt;strong&gt;282+&lt;/strong&gt; themes more of less.&lt;br&gt;
Yep that many. &lt;/p&gt;

&lt;p&gt;You can get a json file with an array of all those themes easily on the internet but you can't use it directly unless you change that into the proper format in which fluent terminal asks its file to by. Couple of tweaks nothing much.&lt;/p&gt;

&lt;p&gt;And to do that I present you with a little script that I wrote to extract out all those themes into a separate folder.&lt;br&gt;
You can pull it down from my Github. Just run the index file and you're good to go. &lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&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%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/atulitanand" rel="noopener noreferrer"&gt;
        atulitanand
      &lt;/a&gt; / &lt;a href="https://github.com/atulitanand/fluent-terminal-theme-generator" rel="noopener noreferrer"&gt;
        fluent-terminal-theme-generator
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Fluent Terminal Theme Generator&lt;/h1&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Steps to generate files&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;git clone https://github.com/atulitanand/fluent-terminal-theme-generator.git
&lt;span class="pl-c1"&gt;cd&lt;/span&gt; ./fluent-terminal-theme-generator
node index.js&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;et voila.&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/atulitanand/fluent-terminal-theme-generator" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;And finally my favourite &lt;a href="https://windowsterminalthemes.dev/?theme=CyberPunk2077" rel="noopener noreferrer"&gt;CyberPunk2077&lt;/a&gt;.&lt;br&gt;
I love a lot of themes but a combination of pink and purple make it look my a delicious cup of sundae.&lt;/p&gt;

&lt;p&gt;If you wish to take a preview, visit &lt;a href="https://windowsterminalthemes.dev/" rel="noopener noreferrer"&gt;windowsterminalthemes.dev&lt;/a&gt;. &lt;br&gt;
Good luck with finding your precious delight.&lt;/p&gt;

&lt;p&gt;Thanks for reading have a great day.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>design</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Implementing dev.to api</title>
      <dc:creator>Atulit Anand</dc:creator>
      <pubDate>Tue, 01 Jun 2021 08:15:19 +0000</pubDate>
      <link>https://dev.to/icecoffee/i-made-something-3ad5</link>
      <guid>https://dev.to/icecoffee/i-made-something-3ad5</guid>
      <description>&lt;p&gt;Hey everyone. It's an absolute pleasure to write something again. &lt;br&gt;
Since the past couple of days I've been busy with my university exams (footnote: still not over 😐).&lt;br&gt;
But I still managed to learn ReactJS and Java.&lt;/p&gt;

&lt;p&gt;And here is what I made as my very first single page application.&lt;br&gt;
Not technically but still it's something more then a frekin TODO app lol&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3dG9tHbD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jxtks9axuq0s89y5js9k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3dG9tHbD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jxtks9axuq0s89y5js9k.png" alt="my app tablet view" width="610" height="811"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yep! A beautiful implementation of dev.to API.&lt;/p&gt;

&lt;p&gt;It isn't my idea per say but this application is till not complete. This is just a branch of it.&lt;br&gt;
I want to implement so much more in it after this. NO SPOILERS. Just stay tuned you won't be disappointed.&lt;/p&gt;
&lt;h1&gt;
  
  
  my experience
&lt;/h1&gt;

&lt;p&gt;Since the very day I started to learn I knew about &lt;em&gt;git bash&lt;/em&gt;. Still I just use to drag and drop my code everywhere. But while making this I thought of using it. I wanted to see how version control works. Well I'd say it is the &lt;strong&gt;best tool after vs code&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I also deployed it on &lt;em&gt;AWS&lt;/em&gt;.But there are some issues in it. Idk why one of my stylesheet isn't loading.&lt;br&gt;
What a pity Mr Jeff lol &lt;/p&gt;

&lt;p&gt;&lt;a href="https://search-withoutportal.ddthkyo0b93r7.amplifyapp.com/"&gt;AWS Deployment&lt;/a&gt; -- here&lt;/p&gt;

&lt;p&gt;That should actually look like this.&lt;br&gt;
And it must also include my search box.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L07TJu2i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b2b1cb1r754u3hqj8774.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L07TJu2i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b2b1cb1r754u3hqj8774.png" alt="mobile view" width="374" height="821"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Despite of that I also found out the topics that I don't know enough.&lt;br&gt;
This project is more of less like stepping stones but the next version is going to be amazing. I can feel it.&lt;/p&gt;

&lt;p&gt;You can checkout my repository here.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/icecoffee-dev/devto-api-bootstap/"&gt;main&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/icecoffee-dev/devto-api-bootstap/tree/search-withoutportal"&gt;search-withoutportal&lt;/a&gt; - completed &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/icecoffee-dev/devto-api-bootstap/tree/searchbox"&gt;searchbox&lt;/a&gt; - working on it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I learned a lot and I feel good about it.&lt;/p&gt;

&lt;p&gt;I'm down for suggestions and hope you may like it.&lt;br&gt;
I have also opened up some issues in the repositories. Feel free to check'em out and comment . &lt;br&gt;
Other then that a special thanks to &lt;a class="mentioned-user" href="https://dev.to/mwrpwr"&gt;@mwrpwr&lt;/a&gt; for his article regarding dev.to API. Since this is my first API I wanted someone to show me how to use it and &lt;a class="mentioned-user" href="https://dev.to/coffeestasia"&gt;@coffeestasia&lt;/a&gt; for that amazing article on portfolio website. Because I will include full version of this app in my portfolio with proper styling n all.&lt;/p&gt;
&lt;h2&gt;
  
  
  Goodreads :)
&lt;/h2&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/mwrpwr" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mhiTRQg---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--xMQblGGs--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/600844/618bf69b-a4e0-4483-8668-22ce6270a1f7.png" alt="mwrpwr"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/mwrpwr/exploring-dev-to-api-45ni" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Exploring DEV.to API&lt;/h2&gt;
      &lt;h3&gt;Joseph Maurer ・ May 28 '21 ・ 1 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#todayilearned&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#api&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;



&lt;div class="ltag__link"&gt;
  &lt;a href="/actitime" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z8pvUbwn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s---M2OSsP6--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/organization/profile_image/2893/fce02c93-3128-4864-a893-20d7438fdeb5.png" alt="actiTIME Inc" width="150" height="150"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--m9lVgk9G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--lXaYQ4Mo--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/452501/9bf1251a-c9ff-460b-a2b1-3fd4985d7d04.jpg" alt="" width="150" height="150"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/actitime/how-to-build-a-great-developer-portfolio-examples-tools-bkj" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;How to Build a Great Developer Portfolio (+ Examples &amp;amp; Tools)&lt;/h2&gt;
      &lt;h3&gt;Anastasia 🏄🏻‍♀️ for actiTIME Inc ・ May 26 '21 ・ 15 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#career&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#100daysofcode&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;Oh shoot did I forgot to mention. &lt;br&gt;
I launched an npm package&lt;/p&gt;

&lt;h4&gt;
  
  
  reactrouter-parcel
&lt;/h4&gt;

&lt;p&gt;which is nothing but my boilerplate for my react apps.&lt;br&gt;
You can check it out &lt;a href="https://www.npmjs.com/package/reactrouter-parcel"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's amazing for beginners still I just think it's better than create react app.&lt;/p&gt;

&lt;p&gt;And done! That's it for today.&lt;/p&gt;

&lt;p&gt;Thanks for reading.&lt;br&gt;
Have a beautiful day.😀&lt;/p&gt;

</description>
      <category>react</category>
      <category>aws</category>
      <category>github</category>
      <category>career</category>
    </item>
    <item>
      <title>Day 24 - 29 and RIP of 100DaysOfCode</title>
      <dc:creator>Atulit Anand</dc:creator>
      <pubDate>Mon, 10 May 2021 15:53:29 +0000</pubDate>
      <link>https://dev.to/icecoffee/day-24-29-and-rip-of-100daysofcode-57f2</link>
      <guid>https://dev.to/icecoffee/day-24-29-and-rip-of-100daysofcode-57f2</guid>
      <description>&lt;p&gt;I started my first 100 days of code journey on &lt;em&gt;12 April 2021&lt;/em&gt; and for the first 25 days, I did pretty well actually.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_ZZF7J5V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://c.tenor.com/ztAdLRcoomAAAAAM/far-too-long-richard-williams.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_ZZF7J5V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://c.tenor.com/ztAdLRcoomAAAAAM/far-too-long-richard-williams.gif" alt="so long ago"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;React was the hero for the first two weeks followed by react-router and flux but then a couple of days back, I broke my streak and since then I've been feeling pretty bad about it.&lt;/p&gt;

&lt;p&gt;I don't wanna trick myself so I accepted my failure and I started a new 100 days of code challenge today.&lt;/p&gt;

&lt;p&gt;But since I have faced a couple of setbacks, now I am familiar with what may happen and how can I improve.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VQU5TDnk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://c.tenor.com/fC4zIRrfBXoAAAAM/yes-yeah.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VQU5TDnk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://c.tenor.com/fC4zIRrfBXoAAAAM/yes-yeah.gif" alt="this is power"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is one more thing that I thought, rather than posting articles daily, which is actually great but sometimes it's overwhelming. I can share my journey with everyone after a couple of days or whenever I'll feel like I have something worth sharing.&lt;br&gt;
And I made a &lt;a href="https://twitter.com/atulit64249523"&gt;Twitter account&lt;/a&gt; to share my journey. If anyone like to keep me in check pls do.&lt;/p&gt;

&lt;p&gt;🌟Bonus: Follow this. Believe me, you will definitely thank me later. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://discord.gg/hw3yETgZ"&gt;Study Group&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://discord.gg/cNynTub8"&gt;Python Server&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are the best places to get help because the community is pretty strong.&lt;/p&gt;

&lt;p&gt;In the study group, you have rooms where you actually have to keep your desk cam on if you don't wanna get kicked out. It gives a class-like experience, just without a teachers. &lt;/p&gt;

&lt;p&gt;There is a bot that keeps a check on all the present members and they have to post their hourly goals as well, if they don't wanna get kicked out. &lt;/p&gt;

&lt;p&gt;They seem like worth sharing cause they have been pretty helpful for me.&lt;/p&gt;

&lt;p&gt;Thanks for being here.&lt;br&gt;
Hope I may finish this one. I will. &lt;/p&gt;

&lt;p&gt;Have a wonderful day.😀&lt;/p&gt;

&lt;p&gt;Check out the cool cover image right &lt;a href="http://www.vibesnscribes.com/2019/09/22/the-100-days-of-code-journey/"&gt;here&lt;/a&gt;.&lt;br&gt;
It's an excellent laptop wallpaper for sure.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>#21-23 of 100DaysOfCode</title>
      <dc:creator>Atulit Anand</dc:creator>
      <pubDate>Tue, 04 May 2021 08:56:05 +0000</pubDate>
      <link>https://dev.to/icecoffee/21-23-of-100daysofcode-809</link>
      <guid>https://dev.to/icecoffee/21-23-of-100daysofcode-809</guid>
      <description>&lt;p&gt;Another three days passed by, &lt;br&gt;
Well, I am here to tell you what did I learned and how it all went.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Highlights:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;I learned how to make a virtual environment of python using &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pipenv&lt;/li&gt;
&lt;li&gt;venv&lt;/li&gt;
&lt;li&gt;virtualenv&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What's the difference between them and how does it works.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I'm back to javascript i.e. node
Till a couple of days back I was so determined to learn Django and then use React with it to create super optimized and secure web apps.
But then again I don't have much experience with React or node and I want to make a strong foundation, So I started learning more about server-side stuff.
How does the web work? 
Express.js 
You know the whole nine.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those are just my first thoughts. Thanks for joining me.&lt;br&gt;
Have a beautiful day.😀😀&lt;/p&gt;

</description>
      <category>100daysofcode</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>Day #14-#20 of 100DaysOfCode</title>
      <dc:creator>Atulit Anand</dc:creator>
      <pubDate>Sat, 01 May 2021 14:58:10 +0000</pubDate>
      <link>https://dev.to/icecoffee/day-14-19-of-100daysofcode-4adb</link>
      <guid>https://dev.to/icecoffee/day-14-19-of-100daysofcode-4adb</guid>
      <description>&lt;p&gt;25 April to 1st May &lt;/p&gt;

&lt;p&gt;Yepp, you got it right. &lt;br&gt;
I'm back, as matter of fact I never broke my streak just ups and downs as usual.&lt;/p&gt;

&lt;p&gt;While making the shopping cart app I realized that I need to learn React router in greater detail so I followed my gut that led me to start another course. Making apps with Flux and React. &lt;br&gt;
Despite the fact that Flux is super cool to use, I learned that &lt;br&gt;
the separation of concerns is a pretty big deal in the world of programming.&lt;/p&gt;

&lt;p&gt;Flux is nothing but a simple library provided by Facebook to implement retrieving and loading of data effectively.&lt;br&gt;
It's a sum total of four things&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Action&lt;/li&gt;
&lt;li&gt;Dispatcher&lt;/li&gt;
&lt;li&gt;Store&lt;/li&gt;
&lt;li&gt;React UI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They literally do the same task as their name suggests.&lt;/p&gt;

&lt;p&gt;Anyway, that's not the main part, here the main thing is that we use flux in order to separate manipulation of data and rendering a component based on that data.&lt;br&gt;
That's not it, we also separate our component into two parts &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dumb component &lt;/li&gt;
&lt;li&gt;Smart component&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A dumb component as the name suggests is dumb, i.e it contains the real markup (JSX) that is going to be rendered.&lt;/p&gt;

&lt;p&gt;Whereas a smart component is a bridge that asks the Store for data via the Flux API and then pass it down to its dumb child so that it may render it.&lt;/p&gt;

&lt;p&gt;And there you go separation of concerns at a whole new level.&lt;/p&gt;

&lt;p&gt;I just wanna put it here that we don't need flux at all but it just provides us with an interface and since it's all about declarative programming why be a B about it.&lt;/p&gt;

&lt;p&gt;With that said, now I'll work using these new tools that I just earned. 😁&lt;/p&gt;

&lt;p&gt;I chose Django for the back end. I also installed ruby on rails on my computer as well but still meh.&lt;/p&gt;

&lt;p&gt;I don't even know how to make a loop in ruby why to learn a new language when ruby on rails is just 0.7% faster than Django. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Although I could use some advice about which database I should learn first. Considering I have never even touched a soul till now.&lt;/em&gt;&lt;br&gt;
I have installed PostgreSQL and Mongo on my pc but IDK, not sure. &lt;br&gt;
See where it takes me.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If any one of you smart people would like to help me out, I'd really appreciate that.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That's how I spent my last couple of days.&lt;br&gt;
Let me know if there is anything that I can do better in the comments or anything literally. Always happy to receive comments.&lt;/p&gt;

&lt;p&gt;Thanks for joining me.😀&lt;br&gt;
Have a wonderful day.🌷&lt;/p&gt;

</description>
      <category>100daysofcode</category>
      <category>webdev</category>
      <category>watercooler</category>
      <category>react</category>
    </item>
    <item>
      <title>#12, #13 of 100DaysOfCode</title>
      <dc:creator>Atulit Anand</dc:creator>
      <pubDate>Fri, 23 Apr 2021 15:01:18 +0000</pubDate>
      <link>https://dev.to/icecoffee/12-of-100daysofcode-pi</link>
      <guid>https://dev.to/icecoffee/12-of-100daysofcode-pi</guid>
      <description>&lt;p&gt;Working on a generic shopping cart app, nothing much to tell.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--U9tqow0W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://c.tenor.com/D4UWrImI444AAAAM/milk-and-mocha-dance.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U9tqow0W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://c.tenor.com/D4UWrImI444AAAAM/milk-and-mocha-dance.gif" alt="shrugging"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Have a nice day 🥀&lt;/p&gt;

</description>
    </item>
    <item>
      <title>#11 of 100DaysOfCode</title>
      <dc:creator>Atulit Anand</dc:creator>
      <pubDate>Thu, 22 Apr 2021 16:05:21 +0000</pubDate>
      <link>https://dev.to/icecoffee/11-of-100daysofcode-28ee</link>
      <guid>https://dev.to/icecoffee/11-of-100daysofcode-28ee</guid>
      <description>&lt;p&gt;Eleventh Day.&lt;br&gt;
Today is all about routing.&lt;/p&gt;
&lt;h2&gt;
  
  
  List Of Things That I Learned Today
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;How to use React Router?&lt;/strong&gt;
Just a note: React Router is a beautiful third-party library that can be used to implement lightning-fast client-side routing on our react application.
It's a beauty for real. Most of all you can declare patterns to get your routes and then we can just use the useParams hook to read the route.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reading routes via use params.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Applying a 404 page&lt;/strong&gt;: Nothing too serious just check if you have received the data, 
if not return markup for 404 page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implementing client-side navigation.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Redirecting using the useNavigate hook.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link and NavLink components&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Link&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/nameOfTheRoute&lt;/span&gt;&lt;span class="dl"&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;Element&lt;/span&gt; &lt;span class="nx"&gt;you&lt;/span&gt; &lt;span class="nx"&gt;want&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt; &lt;span class="nx"&gt;show&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;or&lt;/span&gt; &lt;span class="nx"&gt;Text&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Link&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Link is just a smart cousin of anchor tag it just got to attribute instead of href plus it's smart.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;NavLink&lt;/span&gt; 
    &lt;span class="nx"&gt;to&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/nameOfTheRoute&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; 
    &lt;span class="nx"&gt;activeStyle&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;ObjectContainingStyles&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;Element&lt;/span&gt; &lt;span class="nx"&gt;you&lt;/span&gt; &lt;span class="nx"&gt;want&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt; &lt;span class="nx"&gt;show&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;or&lt;/span&gt; &lt;span class="nx"&gt;Text&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/NavLink&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Link is smart but so is NavLink the only additional functionally it provides as you can see is activeStyle attribute and that is quite literal.&lt;br&gt;
The additional styles that a nav link gets after we click on it.&lt;br&gt;
Easy.&lt;/p&gt;

&lt;p&gt;And that's all for today.😀&lt;br&gt;
Thanks for joining me, comment down below if you got any suggestions.&lt;br&gt;
Have a wonderful day.🌷&lt;/p&gt;

</description>
      <category>100daysofcode</category>
      <category>react</category>
    </item>
    <item>
      <title>#10 of 100DaysOfCode</title>
      <dc:creator>Atulit Anand</dc:creator>
      <pubDate>Wed, 21 Apr 2021 15:50:28 +0000</pubDate>
      <link>https://dev.to/icecoffee/10-of-100daysofcode-mbo</link>
      <guid>https://dev.to/icecoffee/10-of-100daysofcode-mbo</guid>
      <description>&lt;p&gt;On the tenth day,&lt;br&gt;
I just made two simple projects today and called it a day.&lt;br&gt;
No biggie and no React.&lt;/p&gt;

&lt;p&gt;It's seriously nothing but still if you wanna check it out. &lt;/p&gt;

&lt;h2&gt;
  
  
  Project 1 - Simple Price Grid
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8fORrQCS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/576ag1ern85ecscu4sws.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8fORrQCS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/576ag1ern85ecscu4sws.png" alt="First Project Image"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/icecoffee-dev/random-projects/tree/main/single-price-grid-my-solution"&gt;Code&lt;/a&gt;&lt;br&gt;
&lt;a href="https://eloquent-lamport-39c047.netlify.app/"&gt;Live view&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Project 2 - Four Card Featured Application
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--j2lPPRWJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i1p8asc63qildl0baly6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j2lPPRWJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i1p8asc63qildl0baly6.png" alt="Second Project Image"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/icecoffee-dev/random-projects/tree/main/four-card-featured-section-my%20solution"&gt;Code&lt;/a&gt;&lt;br&gt;
&lt;a href="https://friendly-shirley-790a13.netlify.app/"&gt;Live view&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;It's not enough, I know.&lt;br&gt;
A big apology to myself and any other person who expected more.&lt;/p&gt;

&lt;p&gt;If you got any suggestions, please comment down below.&lt;br&gt;
Thanks for joining me.&lt;br&gt;
Have a wonderful day.🌹&lt;/p&gt;

</description>
      <category>100daysofcode</category>
      <category>html</category>
      <category>css</category>
      <category>beginners</category>
    </item>
    <item>
      <title>#9 Of 100DaysOfCode</title>
      <dc:creator>Atulit Anand</dc:creator>
      <pubDate>Tue, 20 Apr 2021 16:05:50 +0000</pubDate>
      <link>https://dev.to/icecoffee/9-of-100daysofcode-2pp8</link>
      <guid>https://dev.to/icecoffee/9-of-100daysofcode-2pp8</guid>
      <description>&lt;p&gt;In the continuation of my yesterday's topic, I studied more about state management in React and a couple of more topics.&lt;/p&gt;

&lt;p&gt;Following are the new things that I learned today about React.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Synthetic Event handlers&lt;/strong&gt; &lt;br&gt;
Just like browsers React got its native event handlers too. But you may as why do we need'em? We already got our silly old toys to play with. But hold up, &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Synthetic event handlers provide improved performance and&lt;/li&gt;
&lt;li&gt;Cross Browser compatibility.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Then there was this thing about when React renders or re-renders?&lt;/strong&gt; &lt;br&gt;
So react renders when&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;State changes - any of it and remember state must always be declared at the top of the scope.&lt;/li&gt;
&lt;li&gt;Prop changes&lt;/li&gt;
&lt;li&gt;Parent renders&lt;/li&gt;
&lt;li&gt;Context Changes
As React is a declarative language so we rarely need any optimization but you still can control whether the state should render or not explicitly.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here you can get more info about states.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/icecoffee" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tLtGi18w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--YRqV-mZu--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_66%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/583438/92433522-a866-4856-83da-7f76bc01a360.gif" alt="icecoffee"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/icecoffee/8-of-100daysofcode-24ng" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;#8 of 100DaysOfCode &lt;/h2&gt;
      &lt;h3&gt;Atulit Anand ・ Apr 19 '21 ・ 2 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#100daysofcode&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;useContext()&lt;/strong&gt;
useContext hook is a great tool and I learned something more about it .
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;useContext&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;callback&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;dependency&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Now we all know about the callback but the dependency array is the new cool thing&lt;br&gt;
&lt;em&gt;dependency array is a list of reasons that will make useEffect re-render&lt;/em&gt; or in layman's terms &lt;em&gt;any states or props we will list in this array will make useEffect re-render every time they change&lt;/em&gt;.&lt;br&gt;
The second definition is better, I know. lol&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Handling Errors via Error Boundary&lt;/strong&gt;
This thing takes care of its child.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nx"&gt;ErrorBoundary&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;constructor&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;super&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="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;hasError&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="nx"&gt;getDerivedStateFromError&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// Update state so the next render will show the fallback UI.&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;hasError&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nx"&gt;render&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;hasError&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="c1"&gt;// You can render your custom fallback UI for errors&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;h1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Heyyy&lt;/span&gt;&lt;span class="o"&gt;!!!&lt;/span&gt; &lt;span class="nx"&gt;Glitch&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;martrix&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="err"&gt;😲&lt;/span&gt; 
                    &lt;span class="nx"&gt;Sit&lt;/span&gt; &lt;span class="nx"&gt;tight&lt;/span&gt; &lt;span class="nx"&gt;we&lt;/span&gt; &lt;span class="nx"&gt;are&lt;/span&gt; &lt;span class="nx"&gt;coming&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;/h1&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;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;this&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="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="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Code for making an error boundary class&lt;/p&gt;

&lt;p&gt;And then you can just use it like a normal component. 😀&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ErrorBoundary&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;App&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="sr"&gt;/ErrorBoundary&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Pretty cool right!!!&lt;/p&gt;

&lt;p&gt;I know this looks familiar. &lt;br&gt;
Here you can get this in a little more detail.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/icecoffee" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tLtGi18w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--YRqV-mZu--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_66%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/583438/92433522-a866-4856-83da-7f76bc01a360.gif" alt="icecoffee"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/icecoffee/7-of-100daysofcode-2lbi" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;#7 of 100DaysOfCode&lt;/h2&gt;
      &lt;h3&gt;Atulit Anand ・ Apr 18 '21 ・ 2 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#100daysofcode&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#nextjs&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;



&lt;p&gt;But, It got limitations too.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Error Boundaries ought to be classes&lt;/li&gt;
&lt;li&gt;They can't catch certain types of errors: 

&lt;ul&gt;
&lt;li&gt;Errors in event handlers&lt;/li&gt;
&lt;li&gt;Errors in async code&lt;/li&gt;
&lt;li&gt;Errors in server sider rendering &lt;/li&gt;
&lt;li&gt;Error thrown in error boundary itself
Also they are just concerned of the errors within their child elements.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;A little tip&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We can handle async errors with error boundries with a little bit of quick fix.&lt;/strong&gt;&lt;br&gt;
Plan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make a state that will store error and set it to null.&lt;/li&gt;
&lt;li&gt;Catch error and set state equals to corresponding error.&lt;/li&gt;
&lt;li&gt;Apply an if before rendering markup
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and error boundary will take over.😎&lt;br&gt;
LOL Nice.&lt;/p&gt;

&lt;p&gt;That's it for today.😌&lt;br&gt;
Thanks for joining me.&lt;br&gt;
Have a wonderful day.🌷&lt;/p&gt;

</description>
      <category>100daysofcode</category>
      <category>react</category>
    </item>
    <item>
      <title>#8 of 100DaysOfCode </title>
      <dc:creator>Atulit Anand</dc:creator>
      <pubDate>Mon, 19 Apr 2021 14:28:32 +0000</pubDate>
      <link>https://dev.to/icecoffee/8-of-100daysofcode-24ng</link>
      <guid>https://dev.to/icecoffee/8-of-100daysofcode-24ng</guid>
      <description>&lt;p&gt;Eighth Day,&lt;br&gt;
Today I am revisiting react states in greater detail.&lt;/p&gt;

&lt;p&gt;And here is what I have learned so far.&lt;/p&gt;
&lt;h1&gt;
  
  
  Eight ways to handle state in a React application
&lt;/h1&gt;
&lt;h3&gt;
  
  
  URL
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Current app. location/settings.&lt;/li&gt;
&lt;li&gt;Enables support for deep linking.&lt;/li&gt;
&lt;li&gt;Avoids redundantly storage of data in your beautiful app.&lt;/li&gt;
&lt;li&gt;3rd Party Enhancement - React router&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Web Storage
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;To persist states between reloads.

&lt;ul&gt;
&lt;li&gt;Cookies&lt;/li&gt;
&lt;li&gt;Locale&lt;/li&gt;
&lt;li&gt;IndexedDB&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;⚠ &lt;em&gt;Watchout&lt;/em&gt; !!!

&lt;ul&gt;
&lt;li&gt;Tied to a single browser - i.e. If the same app. will be accessed from a different browser then you have to again store all the data. (we all are familiar with cookies, right!)&lt;/li&gt;
&lt;li&gt; Avoid storing sensitive data.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Use Cases

&lt;ul&gt;
&lt;li&gt;Items in a shopping cart.&lt;/li&gt;
&lt;li&gt;Partially filled form data.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Local State
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Store state inside a React component. (used when a component needs it)&lt;/li&gt;
&lt;li&gt;Use Cases

&lt;ul&gt;
&lt;li&gt;Forms&lt;/li&gt;
&lt;li&gt;Toggles&lt;/li&gt;
&lt;li&gt;Local lists&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Lifted State
&lt;/h3&gt;

&lt;p&gt;It's literally what its name says. When a state is used by multiple components then we just lift a state to common parent and pass'em down via props.&lt;/p&gt;
&lt;h3&gt;
  
  
  Derived State
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Derive state from existing states/ props.&lt;/li&gt;
&lt;li&gt;Example: Like using Array.length rather than assigning a length of the list to a new state variable.&lt;/li&gt;
&lt;li&gt;That was a simple example but what derived states?

&lt;ul&gt;
&lt;li&gt;Not because it makes code "slick" but to simplify code and avoid &lt;strong&gt;sync bugs&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Refs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The DOM reference 

&lt;ul&gt;
&lt;li&gt;For uncontrolled elements like inputs and other components where React don't control their properties&lt;/li&gt;
&lt;li&gt;Interfacing with non-react libraries.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;State that isn't displayed

&lt;ul&gt;
&lt;li&gt;Like to track if a component is mounted or not.&lt;/li&gt;
&lt;li&gt;Hold timers.&lt;/li&gt;
&lt;li&gt;Store previous state values &lt;strong&gt;(Helps in making features like undo and redo)&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Context
&lt;/h3&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/icecoffee" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tLtGi18w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--YRqV-mZu--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_66%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/583438/92433522-a866-4856-83da-7f76bc01a360.gif" alt="icecoffee"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/icecoffee/7-of-100daysofcode-2lbi" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;#7 of 100DaysOfCode&lt;/h2&gt;
      &lt;h3&gt;Atulit Anand ・ Apr 18 '21 ・ 2 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#100daysofcode&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#nextjs&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Yep, the same thing that I mentioned the day before.&lt;/li&gt;
&lt;li&gt;Global/ broadly used state and functions.

&lt;ul&gt;
&lt;li&gt;Avoids prop drilling&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Use Cases:

&lt;ul&gt;
&lt;li&gt;Login key of the user.&lt;/li&gt;
&lt;li&gt;Authorization settings.&lt;/li&gt;
&lt;li&gt;Theming&lt;/li&gt;
&lt;li&gt;Internationalization settings&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Third Parth States
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Handling state via third parties to make life chill.&lt;/li&gt;
&lt;li&gt;General Options:

&lt;ul&gt;
&lt;li&gt;Redux&lt;/li&gt;
&lt;li&gt;Motex&lt;/li&gt;
&lt;li&gt;Recoil&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Remote State:

&lt;ul&gt;
&lt;li&gt;SWR&lt;/li&gt;
&lt;li&gt;Relay ---|--Both of them goes well with GraphQL&lt;/li&gt;
&lt;li&gt;Apollo --|&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Yep and that's all for today. &lt;br&gt;
I wasn't able to do enough today but I am working on it.&lt;/p&gt;

&lt;p&gt;I'm sure most of you guys have used them before and this is just a general classification of possible use cases but since we are developers, innovation is in our middle name.😄&lt;br&gt;
You know what I'm saying. &lt;/p&gt;

&lt;p&gt;If anyone wants to suggest some more use cases or any add on's or if there are some mistakes in the post, please let me know.&lt;br&gt;
I'll really appreciate that.&lt;/p&gt;

&lt;p&gt;Thanks for reading it.😊&lt;br&gt;
Have a beautiful day.🌷&lt;/p&gt;

</description>
      <category>100daysofcode</category>
      <category>react</category>
    </item>
    <item>
      <title>#7 of 100DaysOfCode</title>
      <dc:creator>Atulit Anand</dc:creator>
      <pubDate>Sun, 18 Apr 2021 14:25:29 +0000</pubDate>
      <link>https://dev.to/icecoffee/7-of-100daysofcode-2lbi</link>
      <guid>https://dev.to/icecoffee/7-of-100daysofcode-2lbi</guid>
      <description>&lt;p&gt;Seventh Day,&lt;br&gt;
😄 Today I learned some really nice features that React provides and I learned how to include Tailwind CSS in a Next.js application. &lt;/p&gt;

&lt;p&gt;Anyway here are my today's learnings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Render props method&lt;/strong&gt; 
In the continuation of the &lt;a href="https://dev.to/icecoffee/6-of-100daysofcode-47ge"&gt;HOC&lt;/a&gt; that I learned yesterday, today I learned more about the render prop method that can be used to optimize our code.

&lt;ul&gt;
&lt;li&gt;It's a pretty long concept so here is a gist:
A component with a  render prop takes a function that returns a React element and calls it instead of implementing its own rendering logic.&lt;/li&gt;
&lt;li&gt;In layman's terms 
Think of render props as a component that surrounds our existing component and provides our existing component property and values it can use.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context and useContext() hooks&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;This API was designed to share data across the multiple layers of child components without using props drilling.&lt;/li&gt;
&lt;li&gt;This API contains a Provider to which we can pass a value that can be accessed by all its child components.&lt;/li&gt;
&lt;li&gt;we also need a reference to this Context that we created that we need to pass in useContext() as an argument to access the values given to the provider.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Components styling&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;I haven't used it by myself at all till now but I learned how to include Tailwind CSS in a Next js project.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;I learned about "dev dependencies" inside the package.json file.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;&lt;a class="mentioned-user" href="https://dev.to/apply"&gt;@apply&lt;/a&gt;&lt;/em&gt; directive offered by Tailwind CSS to combine lots of different small classes to make a big usable class.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can check out HOC (Higher Order Components) in my yesterday's post if you wanna know more.😄&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/icecoffee" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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%2Fuser%2Fprofile_image%2F583438%2F92433522-a866-4856-83da-7f76bc01a360.gif" alt="icecoffee"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/icecoffee/6-of-100daysofcode-47ge" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;#6 of 100DaysOfCode&lt;/h2&gt;
      &lt;h3&gt;Atulit Anand ・ Apr 17 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#100daysofcode&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;If anyone would like to suggest me something since I'm new to React and Next.js or if there are some mistakes in the post, please let me know.&lt;br&gt;
I'll really appreciate that.&lt;/p&gt;

&lt;p&gt;Thanks for reading it.😊&lt;br&gt;
Have a beautiful day.🌼&lt;/p&gt;

</description>
      <category>react</category>
      <category>100daysofcode</category>
      <category>nextjs</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
