<?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: Atul Bhatt</title>
    <description>The latest articles on DEV Community by Atul Bhatt (@atulbhattsystem32).</description>
    <link>https://dev.to/atulbhattsystem32</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%2F405966%2F032069cf-041f-480e-bd92-97b44c28e8a9.png</url>
      <title>DEV Community: Atul Bhatt</title>
      <link>https://dev.to/atulbhattsystem32</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/atulbhattsystem32"/>
    <language>en</language>
    <item>
      <title>Const doesn't prevent immutability</title>
      <dc:creator>Atul Bhatt</dc:creator>
      <pubDate>Tue, 13 Jun 2023 15:03:59 +0000</pubDate>
      <link>https://dev.to/atulbhattsystem32/const-doesnt-prevent-immutability-21gc</link>
      <guid>https://dev.to/atulbhattsystem32/const-doesnt-prevent-immutability-21gc</guid>
      <description>&lt;h2&gt;
  
  
  What is a variable?
&lt;/h2&gt;

&lt;p&gt;In programming, a variable is a name given to a location in the #memory of the computer.&lt;/p&gt;

&lt;p&gt;Instead of treating the value of a variable as a number, string, etc. If we start looking at the &lt;strong&gt;value of a variable&lt;/strong&gt; as an &lt;strong&gt;address&lt;/strong&gt; to the &lt;strong&gt;location in a memory&lt;/strong&gt;, then it will make it easy to understand the concept of &lt;strong&gt;let&lt;/strong&gt; and &lt;strong&gt;const&lt;/strong&gt; in JavaScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  A mental model for understanding
&lt;/h2&gt;

&lt;p&gt;Consider &lt;strong&gt;const&lt;/strong&gt; keyword as representation for &lt;strong&gt;constant&lt;/strong&gt; word.&lt;/p&gt;

&lt;p&gt;And &lt;strong&gt;let&lt;/strong&gt; keyword as &lt;strong&gt;temporary&lt;/strong&gt;.&lt;br&gt;
for example, if you remember, solving equations in mathematics we often say.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;let us assume value of x is 10.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now, combining both knowledge: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;value of variable is an address&lt;/li&gt;
&lt;li&gt;const is for constant&lt;/li&gt;
&lt;li&gt;let is for temporary&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;it will start making sense for the statement below:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;_const doesn't prevent immutability. It just prevents reassignment. _&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  Examples
&lt;/h2&gt;

&lt;p&gt;Now, when I do:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const a = 12
/* A memory address is assigned to a (ex: M121312)
Now the value of "a" internally is "M121312")
If I try to do again: */

a = 13 
/*A new memory space will be assigned to value 13 (ex: M121314) */

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

&lt;/div&gt;



&lt;p&gt;So, internally it seems like, we are trying to do reassign a value to a.&lt;/p&gt;

&lt;p&gt;This might feel vague for now. But hold on.&lt;/p&gt;

&lt;p&gt;Let's come to array.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const b = [1,23,45,56] 
/* b is assigned a memory address (M131314)
and when I do: */

b[2] = 24 
/* it works because the address of b is not changed. 
The value of b is still (M131314)
However, if I do:
*/
b = [1,24,45,56] 
/* it's a new value assignment, i.e., a new address (M131320) */
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is just a &lt;strong&gt;mental model&lt;/strong&gt; to think about &lt;strong&gt;const&lt;/strong&gt; and &lt;strong&gt;let&lt;/strong&gt; that I came up with. I don't know if it's entirely correct or not.&lt;/p&gt;

&lt;p&gt;Tell me in the comments if it makes sense!&lt;/p&gt;

&lt;p&gt;As always thanks for reading. Stay curious!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>programming</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Hot Reload Fails, DOM adds an additional iframe</title>
      <dc:creator>Atul Bhatt</dc:creator>
      <pubDate>Thu, 28 Apr 2022 16:41:47 +0000</pubDate>
      <link>https://dev.to/atulbhattsystem32/hot-reload-fails-dom-adds-an-additional-iframe-45e7</link>
      <guid>https://dev.to/atulbhattsystem32/hot-reload-fails-dom-adds-an-additional-iframe-45e7</guid>
      <description>&lt;p&gt;Hey React Developers🙋‍♂️, this your gateway to solving this problem if you're still facing this. I've &lt;strong&gt;tested&lt;/strong&gt; the solution in &lt;strong&gt;multiple React projects on various different devices with variety of OS and browsers.&lt;/strong&gt; Why? Because everyone in my team was facing this issue but were not frustrated enough to solve it which I was.&lt;/p&gt;

&lt;p&gt;I've gone through multiple github discussions and stackoverflow posts to finally reach this solution and then test it out.&lt;/p&gt;

&lt;p&gt;Let's see the &lt;strong&gt;symptoms&lt;/strong&gt; you're facing. Are they mentioned below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Application becomes &lt;strong&gt;non-interactive, iframe&lt;/strong&gt; is added to DOM.&lt;/li&gt;
&lt;li&gt;Hot reload continues to work, but the page becomes unresponsive. &lt;strong&gt;Can't click or do anything unless you do a manual refresh.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;process is not defined
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Uncaught ReferenceError: process is not defined
at Object.4043 (&amp;lt;anonymous&amp;gt;:2:13168)
at r (&amp;lt;anonymous&amp;gt;:2:306599)
at Object.8048 (&amp;lt;anonymous&amp;gt;:2:9496)
at r (&amp;lt;anonymous&amp;gt;:2:306599)
at Object.8641 (&amp;lt;anonymous&amp;gt;:2:1379)
at r (&amp;lt;anonymous&amp;gt;:2:306599)
at &amp;lt;anonymous&amp;gt;:2:315627
at &amp;lt;anonymous&amp;gt;:2:324225
at &amp;lt;anonymous&amp;gt;:2:324229
at HTMLIFrameElement.e.onload (index.js:1)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You might have started facing this problem either after &lt;strong&gt;updating your CRA or starting a new project using create-react-app&lt;/strong&gt; which lead to the probable lead cause of it to be &lt;strong&gt;react-error-overlay.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You can check the &lt;strong&gt;issue reported on github&lt;/strong&gt; &lt;a href="https://github.com/facebook/create-react-app/issues/11771"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  SOLUTION
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;npm i -D react-error-overlay@6.0.9&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If this doesn't helps, check &lt;a href="https://github.com/facebook/create-react-app/issues/11880#issuecomment-1005409614"&gt;this&lt;/a&gt; out.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;If this solution solves your problem, do like this post or comment down so that others can also get the benefit by reaching to it as early as possible. Till then safe debugging👍&lt;/em&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>help</category>
      <category>discuss</category>
      <category>webpack</category>
    </item>
    <item>
      <title>Useful Tips for Web Dev - Part1</title>
      <dc:creator>Atul Bhatt</dc:creator>
      <pubDate>Wed, 27 Apr 2022 16:54:36 +0000</pubDate>
      <link>https://dev.to/atulbhattsystem32/useful-tips-for-web-dev-part1-5061</link>
      <guid>https://dev.to/atulbhattsystem32/useful-tips-for-web-dev-part1-5061</guid>
      <description>&lt;p&gt;A lot of time there are some problems which we face occasionally but the time when that occasion become too often it becomes frustrating to keep searching those occasional problem here and there on stack overflow or documentation of the libraries. So I'm starting this series of Problems and Solutions to have my those problems all curated at one place. Let's see how it goes. Some of these problems took me to get through a lot of stack overflow answers to find the right one. I wish it saves someone's time.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. How to change port for NPM start? or Node JS change server port?
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SET PORT=8080 &amp;amp;&amp;amp; npm start //windows
export PORT=4000 &amp;amp;&amp;amp; npm start //MAC
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. How to find difference between 2 dates in days?
&lt;/h3&gt;

&lt;p&gt;Let's say we have two dates, your date of birth and today's date and you want to &lt;strong&gt;find the difference&lt;/strong&gt; between them in days. It's something I feel someone will someday &lt;strong&gt;definitely need to use&lt;/strong&gt;. So &lt;a href="https://dev.to/atulbhattsystem32/find-no-of-days-between-2-dates-using-momentjs-53pc"&gt;here's&lt;/a&gt; the way to do it.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Some Quick Generic Web-Developer Friendly Shortcuts
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Clear Console logs&lt;/strong&gt; - &lt;em&gt;developer tools (ctrl+l)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Close Tabs&lt;/strong&gt; - &lt;em&gt;(ctrl+w)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Duplicate a Tab&lt;/strong&gt; - &lt;em&gt;(ctrl+shift+k)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open recently closed tabs&lt;/strong&gt; - &lt;em&gt;(ctrl+shift+t)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hard Reload&lt;/strong&gt; - &lt;em&gt;(ctrl+shift+r)&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. NVM- Node Version Manager ( Windows)
&lt;/h3&gt;

&lt;p&gt;If you're a JS developer then you have had or will at later point in time face the &lt;strong&gt;need to change the node version&lt;/strong&gt; installed in your system because the &lt;strong&gt;project doesn't supports&lt;/strong&gt; the latest. Here NVM - Node Version Manager comes to your rescue.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It allows you to have &lt;code&gt;multiple Node Versions&lt;/code&gt; installed and toggle between them.&lt;br&gt;
&lt;a href="https://github.com/coreybutler/nvm-windows"&gt;NVM-windows&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  5. Copy as CURL
&lt;/h3&gt;

&lt;p&gt;When you're frontend developer you often need to &lt;strong&gt;integrate APIs.&lt;/strong&gt; And a lot of time there might be &lt;strong&gt;issues&lt;/strong&gt; which you would've have to &lt;strong&gt;communicate&lt;/strong&gt; to the &lt;strong&gt;backend developer&lt;/strong&gt; who will be needing things like the &lt;strong&gt;payload and header&lt;/strong&gt; you sent with the api to** check** you passed everything correctly.&lt;br&gt;
Instead, what you can do is &lt;strong&gt;send the CURL url&lt;/strong&gt; to your backend developer which he can import in his &lt;strong&gt;API test tool like POSTMAN&lt;/strong&gt; to check it.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;These are few for now and I'll keep coming with more soon. Till then fast solving😁.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Not 5 but 6 Things to ask Before Joining a new Organisation If you're a DEV or SDE.</title>
      <dc:creator>Atul Bhatt</dc:creator>
      <pubDate>Wed, 27 Apr 2022 05:39:01 +0000</pubDate>
      <link>https://dev.to/atulbhattsystem32/not-5-but-6-things-to-ask-before-joining-a-new-organisation-if-youre-a-dev-or-sde-2a99</link>
      <guid>https://dev.to/atulbhattsystem32/not-5-but-6-things-to-ask-before-joining-a-new-organisation-if-youre-a-dev-or-sde-2a99</guid>
      <description>&lt;p&gt;Often there comes a time when you've to face a situation to change your job. And there can be many reasons for that ranging from a high salary to work-life balance and many more.&lt;/p&gt;

&lt;p&gt;So in this post I'll share some points that you can create a comparison table in order to decide which one to join and which one not.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Salary
&lt;/h3&gt;

&lt;p&gt;Salary directly equates to money you'll earn. And you can say it's &lt;strong&gt;materialistic&lt;/strong&gt; and we should not chase it. But but but...&lt;strong&gt;there's a catch&lt;/strong&gt;.&lt;br&gt;
You salary determines &lt;strong&gt;the worth of your time&lt;/strong&gt;. It tells how much value you get for your time that you put in in your job.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Salary breakdown is also an important factor to check. Are you getting full amount in hand or there's a PF system. Because you can be a person like me who would like to have full money in hand and manage your money yourself instead of letting it be deprecated by inflation.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  2. Job Location
&lt;/h3&gt;

&lt;p&gt;Job location also plays a huge role when making career related decision. Location is very important as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you've to relocate to a new location and it's far it can be a pain to do so.&lt;/li&gt;
&lt;li&gt;If the location is an &lt;strong&gt;expensive place&lt;/strong&gt; then the salary you thought was high would actually look less in the end after all the expenditure.&lt;/li&gt;
&lt;li&gt;Some people prefer to be around their family so now with the option to either do &lt;strong&gt;WFH or WFO or maybe Hybrid&lt;/strong&gt; is now a choice based on location.&lt;/li&gt;
&lt;li&gt;Job location also determines what kind of place or people you would like to be around. You can be working in a city which is &lt;strong&gt;IT Hub or a city which has good food&lt;/strong&gt;, or maybe the mix of both world if you're that much lucky. So an awareness about the kind of &lt;strong&gt;lifestyle you want&lt;/strong&gt; to have is must to make this choice.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Increment Structure
&lt;/h3&gt;

&lt;p&gt;Increments are important to &lt;strong&gt;keep you motivated&lt;/strong&gt; and hooked to the sense of &lt;strong&gt;making progress monetarily&lt;/strong&gt; in your career. Therefore, it's always good to know how often increments are made, it's criteria, and what are the &lt;strong&gt;percentage ranges&lt;/strong&gt; for the increment.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Bonuses
&lt;/h3&gt;

&lt;p&gt;Adding to the increment there're &lt;strong&gt;annual bonuses&lt;/strong&gt; and different other kinds of bonuses. So ask about the bonuses. They kind of add up to your annual income and hence boost your CTC.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Let's say you earn 12LPA and there are 10% annual bonus, then after completing a year you get 1Lakh and that kind of sums upto 13LPA.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  5. Employee Friendly Policies and other
&lt;/h3&gt;

&lt;p&gt;These are some minor things but plays a significant role in how easy it would be to carry on doing your job even if you love the job you do.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What are the leave policies? &lt;strong&gt;Number of leaves&lt;/strong&gt; - paid leaves, sick leaves, etc. I even saw the option of &lt;strong&gt;unlimited leaves&lt;/strong&gt;. Currently I don't know how it works but I'll update here once I do.&lt;/li&gt;
&lt;li&gt;How flexible are timings? Do you need to &lt;strong&gt;pretend busy&lt;/strong&gt; even if you're not?&lt;/li&gt;
&lt;li&gt;Are there any coverage for &lt;strong&gt;health&lt;/strong&gt; insurance or medical expenses?&lt;/li&gt;
&lt;li&gt;Any &lt;strong&gt;upskilling&lt;/strong&gt; model such as providing courses for online learning and other things?&lt;/li&gt;
&lt;li&gt;Does the company provides you with the &lt;strong&gt;machine to work&lt;/strong&gt; on or you've to use your own. Kinda sounds weird but there are some who ask you to use your own.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  6. Bond and Notice Period
&lt;/h3&gt;

&lt;p&gt;Firstly I would suggest that if you've &lt;strong&gt;multiple job offers&lt;/strong&gt; in your hand refrain from bonds. &lt;strong&gt;Bonds are like handcuffs tied behind your hand.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I understand the role of bonds from the perspective of employer also as hiring is a cumbersome process so they won't want the hired employees to leave the place in early phase.&lt;/p&gt;

&lt;p&gt;But what I also believe is that there's no good to keep someone who is not interested to be in the organisation as if they will only create a ripple effect of their negativity related to the organisation all around them inflicting their colleagues with it.&lt;br&gt;
And Notice periods are also important I agree but make sure you don't sign off for more than 1 to 1.5 months.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;I know a lot of these were obvious things but believe me they don't come to mind when you need them the most like the list of things we need to keep while traveling.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;You feel me right?&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;I guess that's all for now. Comment down what you folks feel is also important to look before choosing a job. Till then happy hunting🙂.&lt;/code&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>discuss</category>
      <category>career</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>10 Cool Tech Portfolios</title>
      <dc:creator>Atul Bhatt</dc:creator>
      <pubDate>Wed, 30 Mar 2022 04:30:19 +0000</pubDate>
      <link>https://dev.to/atulbhattsystem32/10-cool-tech-portfolios-21b4</link>
      <guid>https://dev.to/atulbhattsystem32/10-cool-tech-portfolios-21b4</guid>
      <description>&lt;p&gt;There are many reasons that one should create their own tech Portfolios if they are a developer. The number one reason being - &lt;strong&gt;Proof of Work&lt;/strong&gt;. So here in this post I'm going to list &lt;strong&gt;&lt;em&gt;10 Cool Tech Portfolios&lt;/em&gt;&lt;/strong&gt; that I filtered out of many portfolios that are &lt;strong&gt;different, unique and awesome&lt;/strong&gt; in their own way.&lt;br&gt;
These portfolios can be an inspiration for your tech portfolio. So let's jump in.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; &lt;em&gt;The screenshots are just for reference. They don't depict the actual hardwork and creativity of the portfolios demonstrated through - &lt;strong&gt;animations, loaders, fonts, transitions.&lt;/strong&gt; Also these portfolios are not ranked!&lt;br&gt;
Do check out these portfolios and comment down your best picks. Also, if you have a tech portfolio put that also down in the comment section.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.ayushsingh.net/" rel="noopener noreferrer"&gt;Ayush Singh&lt;/a&gt;&lt;/strong&gt;&lt;br&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%2Fqznbmxym48k6zxrtq2v5.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%2Fqznbmxym48k6zxrtq2v5.png" alt="Ayush Portfolio"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://mayurbavisiya.github.io/" rel="noopener noreferrer"&gt;Mayur Patel&lt;/a&gt;&lt;/strong&gt;&lt;br&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%2Fjmlyukik3571pgteodo2.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%2Fjmlyukik3571pgteodo2.png" alt="Mayur Portfolio"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://terance.vercel.app/" rel="noopener noreferrer"&gt;Terance&lt;/a&gt;&lt;/strong&gt;&lt;br&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%2Fyfxfdgo17por9nq10ljz.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%2Fyfxfdgo17por9nq10ljz.png" alt="Terance Portfolio"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://sumit-job.vercel.app/" rel="noopener noreferrer"&gt;Sumit Dey&lt;/a&gt;&lt;/strong&gt;&lt;br&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%2F8xrg1o6b6qdxvft6qd3g.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%2F8xrg1o6b6qdxvft6qd3g.png" alt="Sumit Portfolio"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://medhavimb.me/" rel="noopener noreferrer"&gt;Medhavi Basera&lt;/a&gt;&lt;/strong&gt;&lt;br&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%2Fdp02kso0qow64er2gvp9.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%2Fdp02kso0qow64er2gvp9.png" alt="Medhavimb Portfolio"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://saurabhgupta.netlify.app/" rel="noopener noreferrer"&gt;Saurabh Gupta &lt;/a&gt;&lt;/strong&gt;&lt;br&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%2F8rb7napl6efq8ztkknbx.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%2F8rb7napl6efq8ztkknbx.png" alt="Saurabh Portfolio"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://oswalgopal.github.io/" rel="noopener noreferrer"&gt;Gopal Oswal&lt;/a&gt;&lt;/strong&gt;&lt;br&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%2Ffdsc1vsok1cgge8o6sb7.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%2Ffdsc1vsok1cgge8o6sb7.png" alt="Gopal Portfolio"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://hshekhar.com/" rel="noopener noreferrer"&gt;Himanshu Shekhar&lt;/a&gt;&lt;/strong&gt;&lt;br&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%2Ffyp90zttj4576kvr1kc5.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%2Ffyp90zttj4576kvr1kc5.png" alt="Himanshu Portfolio"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://arn4b.tech/" rel="noopener noreferrer"&gt;Arnab Chatterjee&lt;/a&gt;&lt;/strong&gt;&lt;br&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%2Fwlzyvpn1k2t0rugdn83q.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%2Fwlzyvpn1k2t0rugdn83q.png" alt="Arnab Portfolio"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://thatcoffeeeguy.com/" rel="noopener noreferrer"&gt;Adhithya |that_coffeee_guy&lt;/a&gt;&lt;/strong&gt;&lt;br&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%2Fk7jb9ldyr038af7ok2uf.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%2Fk7jb9ldyr038af7ok2uf.png" alt="Adhitya Portfolio"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;I'm also looking more inspirations for creating my tech portfolio. So if you've a tech portfolio do not hesitate to comment that down. As always thank you for spending your time reading my posts.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Have an inspirational day :)&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>beginners</category>
      <category>portfolio</category>
    </item>
    <item>
      <title>No import React from 'react'. Here's Why!</title>
      <dc:creator>Atul Bhatt</dc:creator>
      <pubDate>Tue, 29 Mar 2022 05:44:50 +0000</pubDate>
      <link>https://dev.to/atulbhattsystem32/no-import-react-from-react-heres-why-hom</link>
      <guid>https://dev.to/atulbhattsystem32/no-import-react-from-react-heres-why-hom</guid>
      <description>&lt;p&gt;&lt;em&gt;Information Source: &lt;a href="https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html" rel="noopener noreferrer"&gt;The React Docs&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So I assume if you are reading this post then &lt;strong&gt;you are probably a react developer or an aspiring react developer&lt;/strong&gt;. Doesn't matter which one you're the above question is the one that you may encounter within yourself while working with react.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Now, what triggered me to write this blog post is depicted in the screenshot below and further explained below the screenshot. Let's uncover this mystery together.&lt;/p&gt;
&lt;/blockquote&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%2Fi4g31j6obexcyff3d9xu.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%2Fi4g31j6obexcyff3d9xu.png" alt="VS Code Screenshot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So as you can see the one line without which the React didn't used to work is now treated as declared but not read or in other word used.&lt;br&gt;
Yes folks, I'm talking about none other than &lt;code&gt;import React from "react";&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Perhaps something might have changed so what can be a possibility for that. &lt;strong&gt;This new warning makes sense as of now because we were always importing &lt;code&gt;React&lt;/code&gt; even if it was not required.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;So as always let's divide our post into question with the first one being-&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why do we do &lt;code&gt;import React from "react";&lt;/code&gt;?
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As I had already assumed that you're a react developer so I also assume that you know that React uses JSX. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;However, &lt;strong&gt;the browser doesn't understands JSX&lt;/strong&gt; so it has to be converted in something that browser understand and that is JavaScript, and this &lt;strong&gt;conversion of JSX into JS was possible because of compilers like &lt;code&gt;Babel&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As now we've crossed 2020 already and &lt;strong&gt;React 17&lt;/strong&gt; is a thing which &lt;strong&gt;didn't introduced any new features&lt;/strong&gt; but one thing. And that's the key to answer for our question. Can you guess what??&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;The support for a New Version Of JSX Transform.&lt;br&gt;
I say it again.&lt;br&gt;
The support for a New Version Of JSX Transform.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Now we have two JSX transform - Old and New obviously.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;So before when we were doing:&lt;/em&gt;&lt;/p&gt;

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

import React from 'react';

function App() {
  return &amp;lt;h1&amp;gt;Hello World&amp;lt;/h1&amp;gt;;
}


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

&lt;/div&gt;

&lt;p&gt;&lt;em&gt;The Old JSX transform used to do:&lt;/em&gt;&lt;/p&gt;

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

import React from 'react';

function App() {
  return React.createElement('h1', null, 'Hello world');
}


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

&lt;/div&gt;

&lt;p&gt;Since, JSX was compiled into &lt;code&gt;React.createElement&lt;/code&gt;, &lt;strong&gt;it was necessary for the React to be available in the scope.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Finally, one question is now answered. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  But we are actually left with the original question. What's changed in new JSX transform that made it 'okay' to not import React for the sake JSX transform.
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Now to import &lt;code&gt;React&lt;/code&gt; so that it can be in the scope and just only because &lt;code&gt;React.createElement&lt;/code&gt; can be called is not a perfect choice.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To solve this part and a few other &lt;a href="https://github.com/reactjs/rfcs/blob/createlement-rfc/text/0000-create-element-changes.md#motivation" rel="noopener noreferrer"&gt;performance improvements and simplifications&lt;/a&gt; (which we are not discussing here) React collaborated with the Babel to bring the new version of JSX transform into existence.&lt;/p&gt;

&lt;p&gt;React made some changes in the React17 by &lt;strong&gt;adding two new entry points to the React package&lt;/strong&gt; just to be &lt;strong&gt;used only&lt;/strong&gt; by the &lt;strong&gt;compilers like Babel&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So now with the availability of these two new entry points that Babel uses to perform JSX transform which means &lt;strong&gt;the need to do JSX transform via React.createElement is no longer required.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And therefore folks, no need to do &lt;code&gt;import React from "react"&lt;/code&gt; any longer if you are on React version greater than 16.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;PS:&lt;/strong&gt; &lt;em&gt;If you're on older version of React such as React 16 or 15 or even 0 then there's a good news for you. React has released React 0.14.0, React 15.7.0, and React 0.14.10 for people who are still on the older major versions.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;So now all you need to use latest JSX transform is these latest version and a supported compiler like Babel.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I hope you enjoyed reading this article and was able to calm your curious mind for some time. &lt;strong&gt;Meanwhile you can checkout my other posts.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Happy transforming into a curious reader. &lt;br&gt;
Have a nice day folks.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>babel</category>
      <category>jsx</category>
    </item>
    <item>
      <title>Breaking down `npx create-react-app` from npm to npx🥷</title>
      <dc:creator>Atul Bhatt</dc:creator>
      <pubDate>Sun, 20 Feb 2022 15:05:50 +0000</pubDate>
      <link>https://dev.to/atulbhattsystem32/breaking-down-npx-create-react-app-from-npm-to-npx-4ah9</link>
      <guid>https://dev.to/atulbhattsystem32/breaking-down-npx-create-react-app-from-npm-to-npx-4ah9</guid>
      <description>&lt;p&gt;Hello🙋‍♂️ to all the curious devs🤓. Today in this post I'm going to breakdown the things that &lt;em&gt;&lt;strong&gt;npx create-react-app&lt;/strong&gt;&lt;/em&gt; does for us. I know there are many other articles for the same but as always I'm documenting👻 this firstly for me and if it proves to be useful for anyone out here reading this it would make me more than happy😸.&lt;/p&gt;

&lt;p&gt;So let's start. I'll break this down in the form of questions, and below is the first.&lt;/p&gt;

&lt;h2&gt;
  
  
  What exactly is npx?
&lt;/h2&gt;

&lt;p&gt;So all those who don't know and just kept on running the command &lt;code&gt;npx create-react-app&lt;/code&gt;, know that &lt;strong&gt;npx&lt;/strong&gt; is a &lt;strong&gt;node package runner&lt;/strong&gt;😎.&lt;/p&gt;

&lt;p&gt;Oh! that was simple. &lt;strong&gt;N&lt;/strong&gt;-node, &lt;strong&gt;P&lt;/strong&gt;-package and &lt;strong&gt;X&lt;/strong&gt;-???&lt;br&gt;
Let the &lt;strong&gt;X&lt;/strong&gt; here be from &lt;code&gt;executor&lt;/code&gt;, kind of program executor in other words program runner. So here we have it &lt;em&gt;&lt;code&gt;node package runner&lt;/code&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;We are going good😁 so far, now this article is not about npm but you might be thinking, and I mean might be thinking🤨 what is npm then?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;So, again the same way &lt;strong&gt;npm&lt;/strong&gt; is 'Node Package Manager' - &lt;strong&gt;N&lt;/strong&gt;-Node, &lt;strong&gt;P&lt;/strong&gt;-Package, &lt;strong&gt;M&lt;/strong&gt;-Manager.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now let's break down what is the role of a package manager and a package runner.🤫&lt;/p&gt;

&lt;h1&gt;
  
  
  Node Package Manager
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;npm&lt;/em&gt;&lt;/strong&gt; is a &lt;code&gt;package manager&lt;/code&gt; that helps💪 you in managing the &lt;code&gt;dependencies/packages&lt;/code&gt; you as a developer want to have in your project. &lt;/li&gt;
&lt;li&gt;It also helps you in managing🤏 whether you want to install those packages globally (for all the projects) or locally (for the current project).&lt;/li&gt;
&lt;li&gt;This all that we are talking about is a CLI (command line interface) that gets installed when you install Node JS in your system. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But &lt;strong&gt;npm&lt;/strong&gt; is more than that.🕵🏼‍♂️&lt;/p&gt;

&lt;p&gt;So when you install a package on your system it's fetched from online, and in online that place is the &lt;strong&gt;npm&lt;/strong&gt; repository.&lt;br&gt;
So &lt;strong&gt;npm&lt;/strong&gt; is a &lt;code&gt;package manager&lt;/code&gt; which is a &lt;code&gt;combination&lt;/code&gt; of a &lt;code&gt;CLI and a Repository&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;With now this sorted😼, it's time to hop back towards &lt;strong&gt;npx&lt;/strong&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So it's obvious that you installed a package and you wanna do something with it. Maybe uninstall it which you can easily do with &lt;strong&gt;npm&lt;/strong&gt; or use it by running it.&lt;/p&gt;

&lt;h2&gt;
  
  
  There's a catch
&lt;/h2&gt;

&lt;p&gt;How to run a package or in other words execute it. Can't we do with the help of &lt;strong&gt;npm&lt;/strong&gt;? And boy we can do it.&lt;/p&gt;

&lt;p&gt;So the answer to why we need &lt;strong&gt;npx&lt;/strong&gt; in the very first place is just about to be revealed.🦹‍♂️&lt;/p&gt;

&lt;h4&gt;
  
  
  How to run a package with the help of npm?
&lt;/h4&gt;

&lt;p&gt;Now, for those who are thinking "I've run a package with npm before and aren't be always starting react server with the help of the command - &lt;code&gt;npm run start&lt;/code&gt;"&lt;/p&gt;

&lt;p&gt;Yes, so if we are able to do it why in the world &lt;strong&gt;npx&lt;/strong&gt;🥴🥴???&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So the catch here is that&lt;/strong&gt; - &lt;em&gt;you can run &lt;code&gt;only those packages&lt;/code&gt; using npm run those are &lt;code&gt;specified in your projects package.json&lt;/code&gt;. And that simply means if you wanna run a npm package you gotta add that in your package.json.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bk6P3_ZQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i9l8mg3kozl6wkkrrxa5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bk6P3_ZQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i9l8mg3kozl6wkkrrxa5.png" alt="Package.json" width="697" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You see all those &lt;code&gt;inside scripts&lt;/code&gt;. That's the &lt;code&gt;key&lt;/code&gt; to &lt;code&gt;npm run&lt;/code&gt; for various packages. Like &lt;code&gt;format&lt;/code&gt; is for the &lt;code&gt;prettier&lt;/code&gt;.&lt;br&gt;
There are other &lt;code&gt;tedious way&lt;/code&gt; to do so, such as specifying the local path:&lt;code&gt;_ npm run ./node_modules/.bin/your-package_&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Now, there comes our hero🦸‍♂️ into the picture - NPX.
&lt;/h3&gt;

&lt;p&gt;Let's explore what &lt;strong&gt;npx&lt;/strong&gt; brings on the table🧙‍♂️ for us.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;npx easily runs Node.js based executable installed via npm.&lt;/li&gt;
&lt;li&gt;We can run a locally installed package easily, and that's what we are looking here for.&lt;/li&gt;
&lt;li&gt;There are other perks of npx but not in this article.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Do you know you can start react server with &lt;strong&gt;npx&lt;/strong&gt; also as: &lt;br&gt;
&lt;code&gt;npx react-scripts start&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  It's time for CRA (create-react-app)👩🏻‍🎨
&lt;/h2&gt;

&lt;p&gt;If you're a &lt;em&gt;&lt;strong&gt;react-dev&lt;/strong&gt;&lt;/em&gt; like me. Then you might have used this command atleast once in your life - &lt;code&gt;npx create-react-app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now we know what &lt;strong&gt;npx&lt;/strong&gt; is and from all our discussion it's also clear that create-react-app is an executable, so let's find out what it does for us.&lt;/p&gt;

&lt;h4&gt;
  
  
  CRA is a toolchain.
&lt;/h4&gt;

&lt;p&gt;And now another term to breakdown🤦. What is a &lt;strong&gt;toolchain&lt;/strong&gt;??&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Don't worry💆 it's a simple term which holds its meaning in its name. It's a chain of tools or a &lt;code&gt;collection of distinct tools&lt;/code&gt; that &lt;code&gt;helps&lt;/code&gt; in achieving the &lt;code&gt;process of completing&lt;/code&gt; the &lt;code&gt;software development&lt;/code&gt; and sometimes &lt;code&gt;deployment&lt;/code&gt; too.&lt;/li&gt;
&lt;li&gt; So &lt;code&gt;CRA (create-react-app)&lt;/code&gt; is a &lt;code&gt;JavaScript toolchain&lt;/code&gt; or a set of software tools which are &lt;code&gt;basically CLIs&lt;/code&gt; to &lt;code&gt;help in creation of a react project&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--P5ioBiTh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ywlsw5ijhjcbe1croiqf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P5ioBiTh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ywlsw5ijhjcbe1croiqf.png" alt="CRA APP" width="800" height="308"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  So instead of reinventing the wheel again, I would add few content from React Docs:
&lt;/h5&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;A JavaScript build toolchain typically consists of:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; A &lt;code&gt;package manager&lt;/code&gt;, such as &lt;code&gt;Yarn or npm&lt;/code&gt;. It lets you take advantage of a vast ecosystem of third-party packages, and easily install or update them.&lt;/li&gt;
&lt;li&gt; A &lt;code&gt;bundler&lt;/code&gt;, such as &lt;code&gt;webpack or Parcel&lt;/code&gt;. It lets you write modular code and &lt;code&gt;bundle&lt;/code&gt; it together &lt;code&gt;into small packages&lt;/code&gt; to &lt;code&gt;optimize load time&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt; A &lt;code&gt;compiler&lt;/code&gt; such as &lt;code&gt;Babel&lt;/code&gt;. It lets you &lt;code&gt;write modern JavaScript&lt;/code&gt; code that still &lt;code&gt;works in older browsers&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;So, in short a CRA offers all these functionalities. For more info on this you can refer to &lt;a href="https://reactjs.org/docs/create-a-new-react-app.html"&gt;react docs&lt;/a&gt;.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Thank you folks for reading all through this article. I tried my best to breakdown the terms that would've otherwise made you feel like you are missing some context to this.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Keep reading, keep learning, and never stop being curious. See you until next time.&lt;/strong&gt;✌️✌️✌️&lt;/p&gt;

</description>
      <category>npm</category>
      <category>webdev</category>
      <category>react</category>
      <category>node</category>
    </item>
    <item>
      <title>React Interview - (Part 3)</title>
      <dc:creator>Atul Bhatt</dc:creator>
      <pubDate>Sat, 22 Jan 2022 08:54:00 +0000</pubDate>
      <link>https://dev.to/atulbhattsystem32/react-interview-part-3-mmb</link>
      <guid>https://dev.to/atulbhattsystem32/react-interview-part-3-mmb</guid>
      <description>&lt;p&gt;So welcome🙂 again to another part of React Interview series. So we’re finally now into &lt;code&gt;part-3&lt;/code&gt;. Before I thought to bind up this series into total of 3 parts but there are so many questions to cover because React also includes JS. So hopefully this series will have &lt;code&gt;total 5 parts&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;So let’s cut out the introductory crap and jump directly into some more React interview questions.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;1-&lt;/strong&gt; What does &lt;code&gt;useState&lt;/code&gt; return?&lt;br&gt;
&lt;strong&gt;2-&lt;/strong&gt; What’s the difference between &lt;code&gt;React Router&lt;/code&gt; and &lt;code&gt;React router DOM&lt;/code&gt;?&lt;br&gt;
&lt;strong&gt;3-&lt;/strong&gt; What are &lt;code&gt;peer dependencies&lt;/code&gt;?&lt;br&gt;
&lt;strong&gt;4-&lt;/strong&gt; Can we use &lt;code&gt;React without JSX&lt;/code&gt;?&lt;br&gt;
&lt;strong&gt;5-&lt;/strong&gt; Why do we have to use &lt;code&gt;className&lt;/code&gt; prop and can't have &lt;code&gt;class&lt;/code&gt; as a prop to a component as a CSS selector?&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  &amp;lt;div className= “react-interview”&amp;gt;
  Hi! [dev.to](http://dev.to) 
  &amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;6-&lt;/strong&gt; Explain the &lt;code&gt;Redux lifecycle&lt;/code&gt;.&lt;br&gt;
&lt;strong&gt;7-&lt;/strong&gt; What’s the output?&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;     const b = 'abc' 
     b.push(d) 
     console.log(b)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;8-&lt;/strong&gt; What are &lt;code&gt;events in JS&lt;/code&gt; and how we can play around them?&lt;br&gt;
&lt;strong&gt;9-&lt;/strong&gt; Explain the use of &lt;code&gt;useRef&lt;/code&gt;?&lt;br&gt;
&lt;strong&gt;10-&lt;/strong&gt; Difference between the &lt;code&gt;Browser Router&lt;/code&gt; and &lt;code&gt;Hash Router&lt;/code&gt;?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;I'll be wrapping up this part of the article here. I'll be glad to read you answers to these question in the comment section.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;And don't forget to mention your approach towards taking interviews. How you approach it? And I know there might be some flaws🥺 in asking these questions so you are free to point them out.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>writing</category>
    </item>
    <item>
      <title>Find No of days between 2 dates using moment.js</title>
      <dc:creator>Atul Bhatt</dc:creator>
      <pubDate>Sat, 25 Dec 2021 19:00:39 +0000</pubDate>
      <link>https://dev.to/atulbhattsystem32/find-no-of-days-between-2-dates-using-momentjs-53pc</link>
      <guid>https://dev.to/atulbhattsystem32/find-no-of-days-between-2-dates-using-momentjs-53pc</guid>
      <description>&lt;p&gt;Time and time again I'm reminded that you can't escape time and so are the problems related to date and time. One such very common problem is to find the &lt;code&gt;difference between 2 dates.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Let me give you a very simple example where we will try to &lt;code&gt;find the how many days old are you?&lt;/code&gt;&lt;br&gt;
So it feels like not a such big deal but think of writing the entire logic on your own when you know you can write but it will much less of a hassle to do it via library like &lt;code&gt;moment.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I'm writing this as an article here because it took me time to find the way to do it using moment itself. I'm writing this article more for myself than for others. So consider this as a treat.&lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Here's the code:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  let myDob = moment("19/12/1997", "DD/MM/YYYY");
  let today = moment();
  let myAge = today.diff(myDob, "years");
  let noOfDays = today.diff(myDob, "days");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Below is the embedded sandbox to demonstrate it:&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/79nux"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Check out the same in moment docs:&lt;br&gt;
&lt;a href="https://momentjs.com/docs/#/durations/subtract/"&gt;moment&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Thanks for your time reading this. I hope it helped you. Have a productive day :)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PS:&lt;/strong&gt;&lt;em&gt;Moment is in maintenance mode.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You can read about the meaning of it in the article linked below.&lt;br&gt;
&lt;a href="https://ilikekillnerds.com/2020/09/moment-js-officially-becomes-a-legacy-project-in-maintenance-mode/"&gt;MOMENT.JS OFFICIALLY BECOMES A LEGACY PROJECT IN MAINTENANCE MODE&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>help</category>
    </item>
    <item>
      <title>React JS Interview(Part-2)</title>
      <dc:creator>Atul Bhatt</dc:creator>
      <pubDate>Thu, 23 Dec 2021 10:45:32 +0000</pubDate>
      <link>https://dev.to/atulbhattsystem32/react-js-interviewpart-2-41bm</link>
      <guid>https://dev.to/atulbhattsystem32/react-js-interviewpart-2-41bm</guid>
      <description>&lt;p&gt;So this is the &lt;code&gt;second blog post&lt;/code&gt; where I'm sharing some more important questions that you may stumble upon while giving a &lt;code&gt;React JS or just a JS interview.&lt;/code&gt; Even if you don't encounter any of these questions in your interview it will be good to check them out just for finding out how many of them you know well. Let's start.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;What is a pure function?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;What is a HOC?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Give some examples of HOC you have used.&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;What is render props?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Custom Hooks?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Difference between Custom Hooks and Functions and Component?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Explain the working of Virtual DOM in detail.&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;What is reconciliation in react?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;What are controlled and Uncontrolled components?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Which one is better-controlled or uncontrolled components?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;What is Memoization and how it can be achieved in React?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Do you know what is a toolchain?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;What is code splitting in React and how we can achieve it?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;What is hoisting in JavaScript?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;What is the difference between Array.forEach() and Array.map()?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Explain event loop?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Name one JS engine.&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Is Javascript Object Oriented? If not then what type it is?&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Some JS snippets to try:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

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

let a = [1,2,3,4,5]
let b = a
b[3] = 10
let c = b
console.log(a,b,c)
//Output: ??
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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


let obj1= {name:"atul", age:24, 
           hobbies:['reading books', 
           'writing blogs','exercising', 'poetry']}
let obj2 = obj1
delete obj2['hobbies']
console.log(obj1, obj2)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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


const aa  = 5
const bb = [12,23,543,56]
const cc = {name: "atul", age:24}
ac= 10 //What will happen? Is this Ok.
bb[3] = 9
bb[4] = 12
cc['Age'] = 'greater than 18'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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


let myself = {
  name: "atul",
  age: 24,
  hobbies: ["reading books", "writing blogs", "exercising", "poetry"],
  favourites: {
    movies: ["Iron Man", "End Game", "Spiderman"],
    Sports: ["Cricket", "Football", "Basketball", "Badminton"],
    song: ["Legends Never Die", "Chidiya: Vilen", "etc", "etc..."]
  }
};

let yourself = { ...myself };
yourself["hobbies"] = ["Guitar playing", "playing football", "Dancing"];

let newSelf = {
  ...myself
};
newSelf.favourites.movies = ["Star Wars", "Ice Age", "Batman", "Flash"];

console.log("myself:", myself);
console.log("yourself:", yourself);
console.log("newself", newSelf);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Here is link to all the questions asked above with implementation, so that you don't feel slacking off with what will happen in each case.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;div class="ltag__replit"&gt;
  &lt;iframe height="550px" src="https://repl.it/@AtulBhatt/JSInterview2?lite=true"&gt;&lt;/iframe&gt;
&lt;/div&gt;



&lt;p&gt;&lt;code&gt;I will be ending this article here for now. I'll continue it in the next part with more questions that will cover more in-depth questions. So see you around here next time.👋&lt;br&gt;
Have an insightful day 😄.&lt;/code&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>interview</category>
      <category>webdev</category>
    </item>
    <item>
      <title>5 Frequently used JS libraries for React</title>
      <dc:creator>Atul Bhatt</dc:creator>
      <pubDate>Wed, 15 Dec 2021 10:34:46 +0000</pubDate>
      <link>https://dev.to/atulbhattsystem32/5-frequently-used-js-libraries-for-react-16g</link>
      <guid>https://dev.to/atulbhattsystem32/5-frequently-used-js-libraries-for-react-16g</guid>
      <description>&lt;p&gt;I've seen many interns that join my company who have just basic knowledge of JS and are starting to dive into a UI library like React &lt;code&gt;struggling with what to learn ahead to fasten there development journey&lt;/code&gt;. While there are lot of things you can learn from the internet to proceed further in your Web Development journey through React JS but I believe there are &lt;code&gt;some JS libraries that you should immediately start practicing&lt;/code&gt; and get a grasp on. This is something I've felt after working on multiple React projects.&lt;/p&gt;

&lt;p&gt;So without further adieu let's start with our list. This list is biased towards React so please take this list with a grain of salt.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;1. Moment&lt;/strong&gt; (&lt;a href="https://momentjs.com/"&gt;https://momentjs.com/&lt;/a&gt;)
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;One thing that always seize to exist is time. One day or another day you'll definitely get a data that'll require you to deal with time. So moment is the library that's a must to learn. The library is easy and offers a lot of methods to manipulate date and time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;2. Axios&lt;/strong&gt; (&lt;a href="https://axios-http.com/docs/intro"&gt;https://axios-http.com/docs/intro&lt;/a&gt;)
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;Axios is a simple promise based HTTP client for the browser and node.js. In simple words, Axios is a library that you use to perform API callings. Axios reduces the pain of API calling by providing features like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make XMLHttpRequests from the browser&lt;/li&gt;
&lt;li&gt;Make http requests from node.js&lt;/li&gt;
&lt;li&gt;Supports the Promise API&lt;/li&gt;
&lt;li&gt;Intercept request and response&lt;/li&gt;
&lt;li&gt;Transform request and response data&lt;/li&gt;
&lt;li&gt;Cancel requests&lt;/li&gt;
&lt;li&gt;Automatic transforms for JSON data&lt;/li&gt;
&lt;li&gt;Client side support for protecting against XSRF&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;3. Material-UI&lt;/strong&gt; (&lt;a href="https://mui.com/"&gt;https://mui.com/&lt;/a&gt;)
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;There always comes a time when you have to dive into a UI library to get prebuilt components to fasten your development. And the most common UI library I've encountered in various projects I've worked on is material-ui. Apart from material-ui you can also look into core-ui.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;4. React-toastify&lt;/strong&gt; (&lt;a href="https://fkhadra.github.io/react-toastify/introduction"&gt;react-toastify/introduction&lt;/a&gt;)
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;React toastify says it's usage all with its name. It's quite useful for displaying toast messages to update user on events like successful login, signup, and rest is upto your usage and imagination where you feel it can fit your usage.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;5. Formik&lt;/strong&gt; (&lt;a href="https://formik.org/"&gt;https://formik.org/&lt;/a&gt;)
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;A web project without dealing with form feels so much incomplete. I don't intend to say that a project without form is not a project but here and there forms will be there. When it comes to dealing with form the other things that will definitely hop on are from fields validations.&lt;br&gt;
Formik is a small library that helps you with the 3 most annoying parts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Getting values in and out of form state&lt;/li&gt;
&lt;li&gt;Validation and error messages&lt;/li&gt;
&lt;li&gt;Handling form submission&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;I would like to keep this post short and would like to hear more about your top 5 picks. Of course there are other libraries which totally deserve to be in this list such as &lt;code&gt;redux, core-ui, react-bootstrap, font-awesome,&lt;/code&gt; and many more. But let's keep them preserved for some other time. I'm really excited to know about your top picks from the comments.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Thanks for your time reading. Have a informatic day.&lt;/em&gt; &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>react</category>
    </item>
    <item>
      <title>React Interview(Part-1)</title>
      <dc:creator>Atul Bhatt</dc:creator>
      <pubDate>Mon, 27 Sep 2021 08:20:30 +0000</pubDate>
      <link>https://dev.to/atulbhattsystem32/react-interview-part-1-4iea</link>
      <guid>https://dev.to/atulbhattsystem32/react-interview-part-1-4iea</guid>
      <description>&lt;p&gt;Below you'll find the interview questions that I was asked and also I use to ask in the React interviews.&lt;/p&gt;

&lt;p&gt;With almost working 1 year as a React Developer in a startup I have played plethora of roles as its core-member and learned a lot there. And one of the roles I had to perform was of a technical interviewer.&lt;/p&gt;

&lt;p&gt;We were mostly focusing on hiring interns who would learn with us in their 2 months of internship and if they do well we would offer them a full time job.&lt;/p&gt;

&lt;p&gt;Amidst all this I also had to go through the interview processes for client in which I used to flunk until a point came when I was acing them.&lt;/p&gt;

&lt;p&gt;So I'm writing this article to highlight few of these questions in a single place. You're welcome to answer these questions in the comments.&lt;/p&gt;

&lt;p&gt;Now where were we? So yes, selecting right candidates for internship process was very crucial as we were a very small team of 5 people in which only four were React DEVs.&lt;br&gt;
So in this article I'm going to share few of the basic beginner level questions which goes from the beginner to the intermediate level that I frequently ask in the interviews I take.&lt;/p&gt;

&lt;p&gt;I'm not sure if this is a post or a startup story but all I hope from this post is that it reaches to someone whom it may be helpful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So let's start.😏&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Like any other normal interview my first statement starts with salutations and greeting followed by &lt;code&gt;"Please Introduce Yourself?🤓"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This question is important for setting up the tone of the interview. With this question I'm giving the candidates the chance to express themselves and give the interview any direction they want.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;"What are the projects you have done?"&lt;/code&gt;&lt;br&gt;
Then comes the very first and the most basic react question -&lt;code&gt;What is React?&lt;/code&gt;&lt;br&gt;
And when the candidate answers this question all I look are the keywords to frame my next question around this answer.&lt;br&gt;
So the most common keywords are &lt;code&gt;"JS library"&lt;/code&gt; and sometimes the candidates also answer &lt;code&gt;"JS Framework", "Component", "Virtual Dom",&lt;/code&gt; and few more which varies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now the next question can be any of the below👇&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;Is React library or framework?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;What is the difference between library and a framework?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;What is Virtual Dom?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;How Virtual Dom works?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Life cycle methods of React?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Difference between state and props?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;What are the different types of libraries you have used in your project?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;What are hooks? Can you name some hooks other than useState and useEffect?&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h5&gt;
  
  
  Some questions goes beyond beginner level if the candidate keeps on answering the previous questions👌. I don't mind checking the depth of concepts the candidate is clear about.
&lt;/h5&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;I also keep mixing👨‍🍳 JS questions in between such as:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;What is the difference between == and ===?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;What is the difference between let, const, and var?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;By any chance do you know the difference between deep copy and shallow copy?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;How do we pass props in Functional Component?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;What is JSX?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;If JSX is  JS + XML, which part of JSX is related to XML?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Why we have to use camelCase to write CSS properties in JSX, such as:&lt;br&gt;
&lt;/code&gt;&lt;code&gt;const myStyle = {backgroundColor:"red"}&lt;/code&gt;&lt;code&gt;&lt;br&gt;
Why can't we use it as we do it in our native css.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;In how many ways we can use useEffect hook?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;What is the difference between import Random from ".../random" and import {Random} from "../random?&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Have your heard about axios?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;What about interceptors in axios?&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;What you prefer async-await or promises? Why?&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Are you familiar with context or Redux? If yes, then why do we need them or when do we need them?&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Few UI questions:
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;Explain Margin and Padding?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;What is CSS box?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;How many types of position are there?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;How and when to use position absolute?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;What is the default position?&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Do you know what is box-sizing?&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;I'll be wrapping up this first part of the article here. I'll be glad to read you answers to these question in the comment section.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;And don't forget to mention your approach towards taking interviews. How you approach it? And I know there might be some flaws🥺 in asking these questions so you are free to point them out.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thanks for reading out. See you back in my next post.😀&lt;/strong&gt;&lt;/p&gt;

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