<?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: Omkar-Ghodake</title>
    <description>The latest articles on DEV Community by Omkar-Ghodake (@omkarghodake).</description>
    <link>https://dev.to/omkarghodake</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%2F597505%2F2de9703c-93d3-4a6a-9d2b-de514b70d689.png</url>
      <title>DEV Community: Omkar-Ghodake</title>
      <link>https://dev.to/omkarghodake</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/omkarghodake"/>
    <language>en</language>
    <item>
      <title>Environment Variables in NodeJs app</title>
      <dc:creator>Omkar-Ghodake</dc:creator>
      <pubDate>Fri, 24 Jun 2022 16:02:15 +0000</pubDate>
      <link>https://dev.to/omkarghodake/environment-variables-in-nodejs-app-453m</link>
      <guid>https://dev.to/omkarghodake/environment-variables-in-nodejs-app-453m</guid>
      <description>&lt;h2&gt;
  
  
  What are Environment Variables?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Environment Variables&lt;/strong&gt; are variables that are set by the Operating System. They are decoupled from application logic. They can be accessed from applications and programs through various APIs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why to use them?
&lt;/h2&gt;

&lt;p&gt;Using environment variables helps the app to behave according to the environment in which the app is to be deployed. Environment variables also help to encapsulate the data.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to use them in NodeJs application?
&lt;/h2&gt;

&lt;p&gt;At first, we need to install a package named &lt;strong&gt;dotenv&lt;/strong&gt;. We can use &lt;code&gt;npm i dotenv&lt;/code&gt; or &lt;code&gt;yarn add dotenv&lt;/code&gt; to install the package.&lt;/p&gt;

&lt;p&gt;Then we need to create a file named &lt;code&gt;.env&lt;/code&gt;. Note that we need to add &lt;code&gt;.env&lt;/code&gt; file in &lt;code&gt;.gitignore.&lt;/code&gt; This will help us in encapsulation of our data. Now we can define our variables in &lt;code&gt;.env&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;Declare all the variables in &lt;code&gt;.env&lt;/code&gt; file in &lt;strong&gt;uppercase&lt;/strong&gt;, i.e, use &lt;strong&gt;Snake Case&lt;/strong&gt;, but all letters should be in uppercase.&lt;br&gt;
&lt;strong&gt;For e.g.&lt;/strong&gt; &lt;code&gt;VARIABLE_NAME = 23&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Once you declare the variables in &lt;code&gt;.env&lt;/code&gt; file, then let's see how to access them in our app.&lt;br&gt;
In our app, import the &lt;code&gt;dotenv&lt;/code&gt; package where we want to access the environment variables as &lt;code&gt;require('dotenv').config()&lt;/code&gt;. There is no need to save it in a variable like we save other packages such as, we import &lt;strong&gt;express&lt;/strong&gt; as &lt;code&gt;const express = require('express')&lt;/code&gt;&lt;br&gt;
Now, to access the environment variables, just use the following syntax: &lt;code&gt;process.env.VARIABLE_NAME&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Example with code
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. &lt;code&gt;.env&lt;/code&gt; file&lt;/strong&gt;&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="nx"&gt;TEST_VARIABLE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;thereIsNoNeedToEncloseStringInQuotes&lt;/span&gt;
&lt;span class="nx"&gt;PORT&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5000&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. &lt;code&gt;index.js&lt;/code&gt; file&lt;/strong&gt;&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="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dotenv&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;config&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;hostname&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;127.0.0.1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;port&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;PORT&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;testVariable&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;TEST_VARIABLE&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;testVariable&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nx"&gt;server&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;listen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;port&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;hostname&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`Server running at http://&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;hostname&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;:&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;port&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&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;&lt;strong&gt;Console output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Server running at 5000
thereIsNoNeedToEncloseStringInQuotes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>node</category>
      <category>processenv</category>
      <category>webdev</category>
      <category>environmentvariables</category>
    </item>
    <item>
      <title>Use Python in your Browser Now!</title>
      <dc:creator>Omkar-Ghodake</dc:creator>
      <pubDate>Sat, 04 Jun 2022 05:26:53 +0000</pubDate>
      <link>https://dev.to/omkarghodake/use-python-in-your-browser-now-226f</link>
      <guid>https://dev.to/omkarghodake/use-python-in-your-browser-now-226f</guid>
      <description>&lt;h2&gt;
  
  
  Introduction to py-script
&lt;/h2&gt;

&lt;p&gt;JavaScript was the only language which can be run in browsers. But now we can also run python in browser (client side or at frontend). The developer of &lt;a href="https://anaconda.org/"&gt;https://anaconda.org/&lt;/a&gt; unveiled quite a surprising project — &lt;strong&gt;py-script&lt;/strong&gt;. It is a JavaScript framework which allows users to run python and use its libraries in browsers like JavaScript itself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Official py-script website:&lt;/strong&gt; &lt;a href="https://pyscript.net/"&gt;https://pyscript.net/&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;py-script on GitHub:&lt;/strong&gt; &lt;a href="https://github.com/pyscript/pyscript"&gt;https://github.com/pyscript/pyscript&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can link &lt;strong&gt;py-script&lt;/strong&gt; to our HTML document in the following two ways:&lt;/p&gt;
&lt;h2&gt;
  
  
  1. Using CDN links
&lt;/h2&gt;

&lt;p&gt;We can use CDN links to link py-script framework to our HTML document. CDN link consists of following two links:&lt;br&gt;
CSS: &lt;code&gt;&amp;lt;link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" /&amp;gt;&lt;/code&gt;&lt;br&gt;
JS: &lt;code&gt;&amp;lt;script defer src="https://pyscript.net/alpha/pyscript.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Copy and paste these link in your HTML documents, and now you can write python directly in your HTML document.&lt;/p&gt;
&lt;h2&gt;
  
  
  2. Downloading the py-script
&lt;/h2&gt;

&lt;p&gt;Link to download &lt;strong&gt;py-script&lt;/strong&gt;: &lt;a href="https://github.com/pyscript/pyscript/archive/refs/heads/main.zip"&gt;https://github.com/pyscript/pyscript/archive/refs/heads/main.zip&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Download py-script from this link, then unzip it, and place the folder named &lt;code&gt;pyscript-main&lt;/code&gt; inside your HTML document's folder and then link it locally inside your HTML document by&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"path/to/pyscript.css"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;defer&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"path/to/pyscript.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Writing Python code in HTML doc
&lt;/h2&gt;

&lt;p&gt;After linking the files to your HTML document, you just have to write &lt;code&gt;&amp;lt;py-script&amp;gt; &amp;lt;/py-script&amp;gt;&lt;/code&gt; tag and inside it, you can write the python code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;http-equiv=&lt;/span&gt;&lt;span class="s"&gt;"X-UA-Compatible"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"IE=edge"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1.0"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="c"&gt;&amp;lt;!-- py-script CDN links --&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"https://pyscript.net/alpha/pyscript.css"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;defer&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://pyscript.net/alpha/pyscript.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;py-script&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;This text is written in HTML&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;       &lt;span class="c"&gt;&amp;lt;!-- HTML --&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;py-script&amp;gt;&lt;/span&gt;
        print("This text is written in Python")     # Python
    &lt;span class="nt"&gt;&amp;lt;/py-script&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As you can see in the above code, we didn't get syntax highlighting for python code because it is written in HTML document. Hence, the code editors will treat python code as HTML plaintext. By using the extensions or other tools provided by the respective code editors, we can get syntax highlighting for py-script.&lt;/p&gt;

&lt;h2&gt;
  
  
  Output in Browser
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--U0HTDjlm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mh0f1zsikwcpdt1y36ic.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U0HTDjlm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mh0f1zsikwcpdt1y36ic.jpg" alt="Output in Browser" width="880" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: All the links and information provided here, are available at py-script official website &lt;a href="https://pyscript.net/"&gt;https://pyscript.net/&lt;/a&gt; . All the information given here is taken from the official py-script sources.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>python</category>
      <category>webdev</category>
      <category>pyscript</category>
      <category>browser</category>
    </item>
    <item>
      <title>How to Use React Router Dom v6</title>
      <dc:creator>Omkar-Ghodake</dc:creator>
      <pubDate>Sat, 04 Jun 2022 04:41:38 +0000</pubDate>
      <link>https://dev.to/omkarghodake/how-to-use-react-router-dom-v6-973</link>
      <guid>https://dev.to/omkarghodake/how-to-use-react-router-dom-v6-973</guid>
      <description>&lt;p&gt;Official Documentation Link: &lt;a href="https://reactrouter.com/docs/en/v6/getting-started/overview"&gt;https://reactrouter.com/docs/en/v6/getting-started/overview&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Firstly, you have to install &lt;code&gt;react-router-dom&lt;/code&gt; by using &lt;code&gt;npm i react-router-dom&lt;/code&gt; or &lt;code&gt;yarn add react-router-dom&lt;/code&gt; and the import the following.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;BrowserRouter&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Routes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Route&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-router-dom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All the &lt;strong&gt;elements/components&lt;/strong&gt; are wrapped in &lt;strong&gt;BrowserRouter&lt;/strong&gt; tag. All the pages (for e.g. &lt;strong&gt;Home&lt;/strong&gt;, &lt;strong&gt;About US&lt;/strong&gt;, &lt;strong&gt;Contact Us&lt;/strong&gt;, etc.) are then wrapped in &lt;strong&gt;Routes&lt;/strong&gt; tag. They are going to be the routes amongst which we can navigate. Then the layouts (for e.g. &lt;strong&gt;Navbar&lt;/strong&gt;, &lt;strong&gt;Footer&lt;/strong&gt;, etc.) are wrapped inside the &lt;strong&gt;BrowserRouter&lt;/strong&gt; but outside the &lt;strong&gt;Routes&lt;/strong&gt; tag because they are same for all pages or routes. Then all the &lt;strong&gt;components/elements&lt;/strong&gt; inside the &lt;strong&gt;Routes&lt;/strong&gt; tag are written as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Route&lt;/span&gt; &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Home&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Unlike &lt;strong&gt;react-router-dom v5&lt;/strong&gt;, there is no need to specify exact path for the element.&lt;/p&gt;

&lt;p&gt;Example Code:&lt;br&gt;
Suppose, there are 3 pages: Home, AboutUs, ContactUs&lt;br&gt;
and 2 layouts: Navbar, Footer&lt;/p&gt;
&lt;h2&gt;
  
  
  1. Creating routes in App.js
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;BrowserRouter&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Navbar&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Routes&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Route&lt;/span&gt; &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Home&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Route&lt;/span&gt; &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;AboutUs&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/aboutUs"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Route&lt;/span&gt; &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ContactUs&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/contactUs"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Routes&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Footer&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;BrowserRouter&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  2. Links in React
&lt;/h2&gt;

&lt;p&gt;The apps built without react, uses anchor tag to create hyperlinks as shown below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Link text&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This method works in react but using anchor tags leads to whole page refresh, which is undesirable. Instead, only some part of the page which is needed to be updated should be changed. &lt;strong&gt;react-router-dom&lt;/strong&gt; helps to achieve this type of routing. In react we use &lt;code&gt;&amp;lt;Link to=""&amp;gt; &amp;lt;/Link&amp;gt;&lt;/code&gt; instead of &lt;code&gt;&amp;lt;a href=""&amp;gt; &amp;lt;/a&amp;gt;&lt;/code&gt;. Note that &lt;strong&gt;href&lt;/strong&gt; is replaced by &lt;strong&gt;to&lt;/strong&gt;. In short, if the website uses same layouts such as navbar or footer, then only the body of the pages are re-rendered.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Redirecting in react-router-dom v6
&lt;/h2&gt;

&lt;p&gt;There are two ways to redirect in &lt;strong&gt;react-router-dom v6&lt;/strong&gt;. First you can redirect to any path from the routes page where all the routes are written and second one is you can redirect from any component/element.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Redirecting from a path:
First:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Navigate&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-router-dom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You just have to add following code to the &lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Router&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/redirect"&lt;/span&gt; &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Navigate&lt;/span&gt; &lt;span class="na"&gt;to&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/"&lt;/span&gt; &lt;span class="na"&gt;replace&lt;/span&gt; &lt;span class="err"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this case, when you'll hit the path &lt;code&gt;"/redirect"&lt;/code&gt; it will automatically redirect to path &lt;code&gt;"/"&lt;/code&gt;. If you replace path (i.e. &lt;code&gt;"/redirect"&lt;/code&gt;) by &lt;code&gt;"*"&lt;/code&gt;, then any it will redirect to &lt;code&gt;"/"&lt;/code&gt; on any path excluding the &lt;code&gt;&amp;lt;Routes /&amp;gt;&lt;/code&gt; (i.e. "/home", "/aboutUs", "contactUs") we made.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Redirecting from a component/element:
This can be achieved by using &lt;code&gt;useNavigation&lt;/code&gt; hook.
First:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;useNavigate&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-router-dom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then initialize the function by:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;navigate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useNavigate&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then we can use this variable &lt;strong&gt;navigate&lt;/strong&gt; to &lt;strong&gt;navigate&lt;/strong&gt; or &lt;strong&gt;redirect&lt;/strong&gt; to any path.&lt;br&gt;
Now simply just write&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="nx"&gt;navigate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/path&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will navigate to "/path"&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactrouterdom</category>
      <category>mernstack</category>
      <category>routing</category>
    </item>
  </channel>
</rss>
