<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Radheshyam Gupta</title>
    <description>The latest articles on Forem by Radheshyam Gupta (@radhe65gupta).</description>
    <link>https://forem.com/radhe65gupta</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%2F851150%2Ffdfc9df2-429f-4fbc-a31a-61197d470d7d.png</url>
      <title>Forem: Radheshyam Gupta</title>
      <link>https://forem.com/radhe65gupta</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/radhe65gupta"/>
    <language>en</language>
    <item>
      <title>Create Your own Popup Message Box Or toastify In React and avoid Security Bridge.</title>
      <dc:creator>Radheshyam Gupta</dc:creator>
      <pubDate>Wed, 01 May 2024 06:20:39 +0000</pubDate>
      <link>https://forem.com/radhe65gupta/create-your-own-popup-message-box-or-toastify-in-react-and-avoid-security-bridge-3hlm</link>
      <guid>https://forem.com/radhe65gupta/create-your-own-popup-message-box-or-toastify-in-react-and-avoid-security-bridge-3hlm</guid>
      <description>&lt;p&gt;&lt;a href="https://www.biharisoft.com/eduboxlive?Page=PopupBoxAndToastify" rel="noopener noreferrer"&gt;Go For Live Demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In React Or Any JavaScript Web Application,We need to show message to user for information and for that we use third part packages for this.We don't know what we install with that packages and also we increase this size of our web application.And,it is big challenging job to Secure your web application from unauthorised persons.&lt;br&gt;
For all above ,to avoid worry we should avoid using third party packages.&lt;br&gt;
Today I just show to you with small program to fulfilled this challenging job in very easy way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now times to show Code;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First we need to Create a new folder "component" inside "src" folder. In component folder we create three new folder name like "Icons,popup,toastify".&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In "Icons" folder we create  Icons.js file which store Icons related small component which mix with svg file.&lt;br&gt;
In "Icons" folder we create  Icons.js file which store Icons related small component which mix with svg file.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Icons.js Code are Below&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;import React from 'react';


export const ShoppingCart = (props) =&amp;gt; {
    const {ClassNm,IconColor,IconSize} = props;
    return (
        &amp;lt;svg className={ClassNm} fill={IconColor} transform={`scale(${IconSize})`} xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24" &amp;gt;
            &amp;lt;path d="M280-80q-33 0-56.5-23.5T200-160q0-33 23.5-56.5T280-240q33 0 56.5 23.5T360-160q0 33-23.5 56.5T280-80Zm400 0q-33 0-56.5-23.5T600-160q0-33 23.5-56.5T680-240q33 0 56.5 23.5T760-160q0 33-23.5 56.5T680-80ZM246-720l96 200h280l110-200H246Zm-38-80h590q23 0 35 20.5t1 41.5L692-482q-11 20-29.5 31T622-440H324l-44 80h480v80H280q-45 0-68-39.5t-2-78.5l54-98-144-304H40v-80h130l38 80Zm134 280h280-280Z" /&amp;gt;
        &amp;lt;/svg &amp;gt;

        );
};

export const CheckCircle = (props) =&amp;gt; {
    const {ClassNm,IconColor,IconSize} = props;
    return (
        &amp;lt;svg className={ClassNm} fill={IconColor} transform={`scale(${IconSize})`}  xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"&amp;gt;
            &amp;lt;path d="m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z" /&amp;gt;
        &amp;lt;/svg&amp;gt;

        );
};
export const Warning = (props) =&amp;gt; {
    const {ClassNm,IconColor,IconSize} = props;
    return (
        &amp;lt;svg className={ClassNm} fill={IconColor} transform={`scale(${IconSize})`} xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"&amp;gt;
            &amp;lt;path d="m40-120 440-760 440 760H40Zm138-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm-40-120h80v-200h-80v200Zm40-100Z" /&amp;gt;
        &amp;lt;/svg&amp;gt;

        );
};
export const Error = (props) =&amp;gt; {
    const {ClassNm,IconColor,IconSize} = props;
    return (
        &amp;lt;svg className={ClassNm} fill={IconColor} transform={`scale(${IconSize})`} xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"&amp;gt;
            &amp;lt;path d="M480-280q17 0 28.5-11.5T520-320q0-17-11.5-28.5T480-360q-17 0-28.5 11.5T440-320q0 17 11.5 28.5T480-280Zm-40-160h80v-240h-80v240Zm40 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z" /&amp;gt;
        &amp;lt;/svg&amp;gt;

        );
};

export const SpinnerIcon = (props) =&amp;gt; {
    const { ClassNm, IconColor, IconSize } = props;
    return (
        &amp;lt;svg className={ClassNm} fill={IconColor} transform={`scale(${IconSize})`} xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"&amp;gt;
            &amp;lt;path d="m482-200 114-113-114-113-42 42 43 43q-28 1-54.5-9T381-381q-20-20-30.5-46T340-479q0-17 4.5-34t12.5-33l-44-44q-17 25-25 53t-8 57q0 38 15 75t44 66q29 29 65 43.5t74 15.5l-38 38 42 42Zm165-170q17-25 25-53t8-57q0-38-14.5-75.5T622-622q-29-29-65.5-43T482-679l38-39-42-42-114 113 114 113 42-42-44-44q27 0 55 10.5t48 30.5q20 20 30.5 46t10.5 52q0 17-4.5 34T603-414l44 44ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z" /&amp;gt;
        &amp;lt;/svg&amp;gt;

    );
};


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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;In "popup" folder we have PopupBox.css and PopupBox.jsx file.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PopupBox.css and PopupBox.jsx Code are Below&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;/*PopupBox.css*/

.PopupBoxModal {
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    padding-top: 100px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */

}
.PopupBody {
    width: 26%;
    min-width: 233px;
    height: 32%;
    min-height: 300px;
    border: 1px solid #888;
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 11px;
    background-color: #fefefe;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
.PopupHeader {
    width: 100%;
    height: 50px;
    display: flex;
    border-top-left-radius: 11px;
    border-top-right-radius: 11px;
}
.PopupHeaderText {
    width: 32%;
    min-width: 129px;
    height: 50px;   
    border-top-left-radius: 11px;
}
.PopupHeaderTxt {
    font-size: medium;
    font-family: cursive;
    font-weight: 300;
    padding: 1px 13px
}
.PopupHeaderIcon {
    width: 10%;
    height: 50px;

}
.PopupHeaderBtn {
    width: 58%;
    height: 50px;
    display: flex;
    flex-direction: row-reverse;
    border-top-right-radius: 11px;
}

.PopupBtn {
    background: none;
    border: none;
    /* margin-left: 88px; */
    margin-top: -16px;
    text-align: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
}
.PopupBtn:hover {
    cursor:pointer;
    color:white;
}
.PopupMessageBody {
    height: 62%;
    min-height: 186px;
    overflow-y:auto;
}
.PopupFooter {
    display: flex;
    flex-direction: column;
}
/* OK Button */
.okBtn {
    color: white;
    border: none;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    font-size: 16px;
    cursor: pointer;
    border-radius: 5px;
    align-self: center;
    margin-top: 10px;
}

.okBtn:hover {
  background-color: #45a049;
}

.IconSpin {
    position: absolute;
    margin-top: 9px;
    border-radius: 50%;
    height: 30px;
    width: 30px;
}
@media (prefers-reduced-motion: no-preference) {
    .IconSpin {
        animation: HeaderIconSpin infinite 2s linear;
    }
}
@keyframes HeaderIconSpin {
    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }
}


/*PopupBox.jsx*/

import { CheckCircle, Warning, Error, SpinnerIcon } from '../Icons/Icons';
import './PopupBox.css';


const PopupBox = (props) =&amp;gt; {

    const { Message, RedirectUrl, IsSuccess, IsWarning, IsError ,ClosePopup} = props;

    const MessageList = Message.split(",");

    const HeaderText = IsSuccess ? "Success" : IsWarning ? "Warning" : IsError ? "Error" : "";
    const HeaderBcColor = IsSuccess ? "GreenClr" : IsWarning ? "YellowClr" : IsError ? "RedClr" : "YellowClr";
    const PopupHeaderIcon = IsSuccess ? &amp;lt;CheckCircle ClassNm="IconPopup" IconColor="#fefefe" IconSize={1.4} /&amp;gt;
        : IsWarning ? &amp;lt;Warning ClassNm="IconPopup" IconColor="#fefefe" IconSize={1} /&amp;gt;
            : IsError ? &amp;lt;Error ClassNm="IconPopup" IconColor="#fefefe" IconSize={1.4} /&amp;gt;
                : &amp;lt;Warning ClassNm="IconPopup" IconColor="#fefefe" IconSize={1} /&amp;gt;;

    return (
        &amp;lt;&amp;gt;
            &amp;lt;div className="PopupBoxModal"&amp;gt;
                &amp;lt;div className="PopupBody"&amp;gt;
                    &amp;lt;div className={"PopupHeader " + HeaderBcColor}&amp;gt;
                        &amp;lt;div className="PopupHeaderText"&amp;gt;
                            &amp;lt;span className="PopupHeaderTxt"&amp;gt;{HeaderText}&amp;lt;/span&amp;gt; {PopupHeaderIcon}
                        &amp;lt;/div&amp;gt;
                        &amp;lt;div className="PopupHeaderIcon"&amp;gt;
                            &amp;lt;div className="IconSpin"&amp;gt;
                                &amp;lt;SpinnerIcon ClassNm="SpinnerIcon" IconColor="#fefefe" IconSize={1.4} /&amp;gt;
                            &amp;lt;/div&amp;gt;
                        &amp;lt;/div&amp;gt;
                        &amp;lt;div className="PopupHeaderBtn"&amp;gt;
                            &amp;lt;button className="PopupBtn" onClick={() =&amp;gt; { ClosePopup(RedirectUrl) }}&amp;gt; &amp;lt;span&amp;gt;&amp;amp;times;&amp;lt;/span&amp;gt; &amp;lt;/button&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div className="PopupMessageBody" &amp;gt;
                        &amp;lt;ul&amp;gt;
                            {
                                MessageList.map((msg, index) =&amp;gt; (

                                    &amp;lt;li key={"PopupMSg " + index}&amp;gt;{msg}&amp;lt;/li&amp;gt;
                                ))

                            }


                        &amp;lt;/ul&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div className="PopupFooter"&amp;gt;
                        &amp;lt;button className={"okBtn " + HeaderBcColor} onClick={() =&amp;gt; { ClosePopup(RedirectUrl) }}&amp;gt;OK&amp;lt;/button&amp;gt;
                    &amp;lt;/div&amp;gt;

                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/&amp;gt;
    );
};
export default PopupBox;

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;In "toastify" folder we have Toastify.css and Toastify.jsx file.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Toastify.css and Toastify.jsx  Code are Below&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;/*Toastify.css */
.ToastifyModal {
    position: relative;
    z-index: 1;
    margin-left: 23px;
    margin-top: 18px;
    margin-right: 33px;
    float: right;
    width: 16%;
    min-width: 318px;
    height: 75px;
    background-color: rgb(0, 0, 0);
    background-color: rgba(0, 0, 0, 0.4);
    border-radius: 11px;
    animation: FlipToast 1s;
    animation-timing-function: linear;
}

@keyframes FlipToast{
    0% {
        opacity: 0;
        transform: translateY(-100%);
    }

    100% {
        opacity: 1;
        transform: translateY(0%);
    }
}
.ToastifyBody {
    position: absolute;
    width: inherit;
    min-width: inherit;
    height: inherit;
    min-height: inherit;
    border: 1px solid #888;
    border-radius: inherit;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.ToastifyHeader {
    width: 100%;
    height: 18px;
    display: flex;
    border-top-left-radius: 11px;
    border-top-right-radius: 11px;

}

.ToastifyHeaderText {
    width: 33%;
    min-width: 104px;
    height: 17px;
    border-top-left-radius: 11px;
    padding: 0px;
    margin-left: 13px;
}



.ToastifyHeaderTxt {
    font-size: 10px;
    font-family: cursive;
    font-weight: 100;
    padding: 1px 17px;
    display: block;
    float: left;
}

.ToastifyHeaderIcon {
    width: 10%;
    height: inherit;

}

.ToastifyHeaderBtn {
    width: 67%;
    height: inherit;
    display: flex;
    flex-direction: row-reverse;
    border-top-right-radius: 11px;

}

.ToastifyBtn {
    background: none;
    border: none;
    /* margin-left: 88px; */
    margin-top: -7px;
    text-align: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
}

    .ToastifyBtn:hover {
        cursor: pointer;
        color: white;
    }

.ToastifyMessageBody {
    height: 49%;
    min-height: 26px;
    overflow-y: hidden;
    font-size: 13px;
}

.ToastifyFooter {
    display: flex;
    flex-direction: column;
    border-bottom-left-radius: 11px;
    border-bottom-right-radius: 11px;
}
/* OK Button */
.ToastifyProgressBar {
    color: white;
    background-color: #eaf0f9;
    border: none;
    text-align: center;
    margin-left: 0px;
    margin-top: 5px;
    margin-right: 0px;
    height: 13px;
    border: 1px solid;
    border-bottom-left-radius: 11px;
    border-bottom-right-radius: 11px;
}
.ToastifyProgressBarChild {
    text-align: center;
    font-size: 10px;
    height: 13px;
    border: 1px solid;
    border-bottom-left-radius: 11px;
    border-bottom-right-radius: 11px;
} 

.ToastifyIconPopup {
    cursor: pointer;
    margin-left: 1px;
    margin-top: -2px;
}
.ToastifySpinnerIcon {
    cursor: pointer;
    margin-top: 3px;
    margin-left: 3px;
    border: 1px solid Blue;
}
.ToastifyIconSpin {
    position: absolute;
    margin-top: 1px;
    border-radius: 50%;
    height: 9px;
    width: 9px;
}

@media (prefers-reduced-motion: no-preference) {
    .ToastifyIconSpin {
        animation: ToastifyHeaderIconSpin infinite 2s linear;
    }
}

@keyframes ToastifyHeaderIconSpin {
    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }
}



/*Toastify.jsx  */

import './Toastify.css';
import { CheckCircle, Warning, Error, SpinnerIcon } from '../Icons/Icons';
import { useEffect, useState } from 'react';

const Toastify = (props) =&amp;gt; {
    const [progressBarIndicator, setProgressBarIndicator] = useState(100);
    const { Message, RedirectUrl, IsSuccess, IsWarning, IsError, ClosePopup,TimmerSpeedInMiliseconds,AutoClose } = props;

    const MessageList = Message.split(",");

    const HeaderText = IsSuccess ? "Success" : IsWarning ? "Warning" : IsError ? "Error" : "";
    const HeaderBcColor = IsSuccess ? "GreenClr" : IsWarning ? "YellowClr" : IsError ? "RedClr" : "YellowClr";
    const PopupHeaderIcon = IsSuccess ? &amp;lt;CheckCircle ClassNm="ToastifyIconPopup" IconColor="#fefefe" IconSize={0.5} /&amp;gt;
        : IsWarning ? &amp;lt;Warning ClassNm="ToastifyIconPopup" IconColor="#fefefe" IconSize={0.6} /&amp;gt;
            : IsError ? &amp;lt;Error ClassNm="ToastifyIconPopup" IconColor="#fefefe" IconSize={0.5} /&amp;gt;
                : &amp;lt;Warning ClassNm="ToastifyIconPopup" IconColor="#fefefe" IconSize={0.6} /&amp;gt;;
    let timerStart = null;
    useEffect(() =&amp;gt; {
        if (AutoClose) {
            timerStart = setInterval(() =&amp;gt; {
                setProgressBarIndicator((pre) =&amp;gt; (pre - 1));
            }, TimmerSpeedInMiliseconds);

            return () =&amp;gt; { clearInterval(timerStart) };
        }

    }, [progressBarIndicator]);

    useEffect(() =&amp;gt; {
        if (progressBarIndicator === 10) {
            clearInterval(timerStart);
            ClosePopup(RedirectUrl);
        }
    }, [progressBarIndicator]);
    return (
        &amp;lt;&amp;gt;
            &amp;lt;div className="ToastifyModal"&amp;gt;
                &amp;lt;div className={"ToastifyBody " + HeaderBcColor}&amp;gt;
                    &amp;lt;div className={"ToastifyHeader " + HeaderBcColor}&amp;gt;

                        &amp;lt;div className="ToastifyHeaderText"&amp;gt;
                            &amp;lt;span className="ToastifyHeaderTxt"&amp;gt;{HeaderText}&amp;lt;/span&amp;gt; {PopupHeaderIcon}
                        &amp;lt;/div&amp;gt;

                        &amp;lt;div className="ToastifyHeaderBtn"&amp;gt;
                            &amp;lt;button className="ToastifyBtn" onClick={() =&amp;gt; { ClosePopup(RedirectUrl) }}&amp;gt; &amp;lt;span&amp;gt;&amp;amp;times;&amp;lt;/span&amp;gt; &amp;lt;/button&amp;gt;
                        &amp;lt;/div&amp;gt;

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

                    &amp;lt;div className="ToastifyMessageBody" &amp;gt;
                        &amp;lt;ul&amp;gt;
                            {
                                MessageList.map((msg, index) =&amp;gt; (

                                    &amp;lt;li key={"ToastifyMSg " + index}&amp;gt;{msg}&amp;lt;/li&amp;gt;
                                ))

                            }


                        &amp;lt;/ul&amp;gt;
                    &amp;lt;/div&amp;gt;

                    {AutoClose &amp;amp;&amp;amp;
                        &amp;lt;div className="ToastifyFooter"&amp;gt;
                        &amp;lt;div className={"ToastifyProgressBar"} &amp;gt;
                            &amp;lt;div className={"ToastifyProgressBarChild " + HeaderBcColor} style={{ width: `${progressBarIndicator}%` }} &amp;gt;
                                {progressBarIndicator + "%"}
                            &amp;lt;/div&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                    }
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/&amp;gt;
    );
};
export default Toastify;

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Now Times to call our Message PopupBox and Toastify,for that, i call this both component in App.js file,  Code are Below.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;App.js File *&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { useState } from 'react';
import './App.css';
import PopupBox from './component/popup/PopupBox';
import Toastify from './component/toastify/Toastify';

function App() {

    const [msgBox, setMsgBox] = useState("");
    const ClosePopup = (RedirectUrl) =&amp;gt; {
        setMsgBox("");

    }

    const ShowMe = (reqType) =&amp;gt; {

        if (reqType === "successP") {

            setMsgBox(&amp;lt;PopupBox Message="WelCome Biharisoft,Succes Message" RedirectUrl="/Cart" IsSuccess={true} IsWarning={false} IsError={false} ClosePopup={ClosePopup} /&amp;gt;);
        } else if (reqType === "errorP") {

            setMsgBox(&amp;lt;PopupBox Message="WelCome Biharisoft,Error Message" RedirectUrl="/Cart" IsSuccess={false} IsWarning={false} IsError={true} ClosePopup={ClosePopup} /&amp;gt;);
        } else if (reqType === "warnP") {

            setMsgBox(&amp;lt;PopupBox Message="WelCome Biharisoft,Warnning Message" RedirectUrl="/Cart" IsSuccess={false} IsWarning={true} IsError={false} ClosePopup={ClosePopup} /&amp;gt;);
        }
        else if (reqType === "successT") {
            setMsgBox(()=&amp;gt;(""));
            setMsgBox(&amp;lt;Toastify Message="WelCome Biharisoft" RedirectUrl="/Cart" IsSuccess={true} IsWarning={false} IsError={false} ClosePopup={ClosePopup} TimmerSpeedInMiliseconds={50} AutoClose={true} /&amp;gt;);
        } else if (reqType === "errorT") {
            setMsgBox(() =&amp;gt; (""));
            setMsgBox(&amp;lt;Toastify Message="WelCome Biharisoft" RedirectUrl="/Cart" IsSuccess={false} IsWarning={false} IsError={true} ClosePopup={ClosePopup} TimmerSpeedInMiliseconds={50} AutoClose={false} /&amp;gt;);
        } else if (reqType === "warnT") {
            setMsgBox(() =&amp;gt; (""));
            setMsgBox(&amp;lt;Toastify Message="WelCome Biharisoft" RedirectUrl="/Cart" IsSuccess={false} IsWarning={true} IsError={false} ClosePopup={ClosePopup} TimmerSpeedInMiliseconds={50} AutoClose={false} /&amp;gt;);
        }

    }

    return (
        &amp;lt;div &amp;gt; {msgBox}
        &amp;lt;div className="App"&amp;gt;

          &amp;lt;button className="GreenClr btnshap" onClick={() =&amp;gt; { ShowMe("successP") }}&amp;gt;Success Popup &amp;lt;/button&amp;gt;
          &amp;lt;button className="YellowClr btnshap" onClick={() =&amp;gt; { ShowMe("warnP") }} &amp;gt;Warnig Popup&amp;lt;/button&amp;gt;
          &amp;lt;button className="RedClr btnshap" onClick={() =&amp;gt; { ShowMe("errorP") }}&amp;gt;Error Popup&amp;lt;/button&amp;gt;

          &amp;lt;button className="GreenClr btnshap" onClick={() =&amp;gt; { ShowMe("successT") }}&amp;gt;Success toastify &amp;lt;/button&amp;gt;
          &amp;lt;button className="YellowClr btnshap" onClick={() =&amp;gt; { ShowMe("warnT") }} &amp;gt;Warnig toastify&amp;lt;/button&amp;gt;
          &amp;lt;button className="RedClr btnshap" onClick={() =&amp;gt; { ShowMe("errorT") }}&amp;gt;Error toastify&amp;lt;/button&amp;gt;

            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
  );
}

export default App;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;For looking pretty good looking,We need some css for app.js *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;app.css&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;
.App {

    display: flex;
    margin: 20px;
    padding: 10px;
}


.GreenClr {
    background: #05b20d;  
}

.YellowClr {
    background: #ee3535;
}

.RedClr {
    background: #ecb90d;
}

.btnshap {
    padding: 8px;
    margin: 3px;
    border-radius: 5px;
    width: 113px;
    text-align:center;
}
    .btnshap:hover{
        color:white;
    }

.IconPopup {
    cursor: pointer;
    margin-left: 8px;
    margin-top: 8px;
}
.SpinnerIcon {
    cursor: pointer;
    margin-top: 3px;
    margin-left: 3px;
}

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

&lt;/div&gt;



&lt;p&gt;Wow ! Looking Good , Finally we create our own Popup Message Box Or toastify In React for light weight Code and  avoid Security Bridge !&lt;/p&gt;

&lt;p&gt;Drop some love by liking or commenting ♥&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Reference &lt;a href="https://react.dev/reference/react" rel="noopener noreferrer"&gt;React&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/BIHARISOFT/EduBox/tree/master/react_popup_or_toastify" rel="noopener noreferrer"&gt;Download Source Code from GitHub Repository&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
      <category>react</category>
    </item>
    <item>
      <title>How Validate Form Input Data In React Or Any JavaScript Web Application ?</title>
      <dc:creator>Radheshyam Gupta</dc:creator>
      <pubDate>Fri, 22 Dec 2023 20:12:20 +0000</pubDate>
      <link>https://forem.com/radhe65gupta/how-validate-form-input-data-in-react-or-any-javascript-web-application--56l4</link>
      <guid>https://forem.com/radhe65gupta/how-validate-form-input-data-in-react-or-any-javascript-web-application--56l4</guid>
      <description>&lt;p&gt;&lt;a href="https://www.biharisoft.com/eduboxlive?Page=FormModelValidate" rel="noopener noreferrer"&gt;Go For Live Demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In React Or Any JavaScript Web Application ,it is big challenging job to provide Valid Warning Message to User to provide Valid Data.&lt;/p&gt;

&lt;p&gt;Today I just show to you with small program to fulfilled this challenging job in very easy way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now times to show Code;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First we Create A Method who Validate Out model .&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;//Note validateModel and validateModelData are javascript Object.
validateModel is our Model where we store our form data and 
validateModelData is model where we store out Validation message regarding our form Model with same key with Validation message .

export const ValidateMyModel = (validateModel, validateModelData) =&amp;gt; {

    const validateFilterModel = {};
    const ReturnErrorList = [];

    for (const [key, value] of Object.entries(validateModelData)) {
        if (validateModel.hasOwnProperty(key)) {
            validateFilterModel[key] = validateModel[key];
        }
    }

    for (const [key, value] of Object.entries(validateFilterModel)) {
        if (!value)
        {
            ReturnErrorList.push(validateModelData[key]);
        }
    }
    return ReturnErrorList;


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

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;Now Time To implement this ValidateMyModel()  on submit button.&lt;br&gt;
I call a function submitData() on button click to save data.&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const submitData = () =&amp;gt; {

 const ErrorList = ValidateMyModel(modelData, RequiredFiledModel);

        if (ErrorList.length === 0) {

            if (TermsCondition) {
                alert("Data Successfully Saved")
            }
            else {
                alert("Please accept Terms and Condition");
            }
        }
        else {
            alert(ErrorList.toString());
        }


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

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;Now I share With You all Code below &lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1) App.js File&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;import { useState } from 'react';
import './App.css';
import { countryList, DetailsModel, monthNames, RangeData, ValidateMyModel, RequiredFiledModel } from './Model/Model';

function App() {

    const [modelData, setModelData] = useState(DetailsModel);

    const { Name, Gender, Phone, Birthdate, BirthdateMonth, BirthdateYear,TermsCondition,Street,Nationality,City,Country } = modelData;

    const onInputChange = (event) =&amp;gt; {

        const { name, value } = event.target;

        if (name === "TermsCondition") {
            if (event.target.checked) {

                setModelData((pre) =&amp;gt; ({ ...pre, [name]: true }));
            }
            else {
                setModelData((pre) =&amp;gt; ({ ...pre, [name]: false }));
            }

        }
        else {
            setModelData((pre) =&amp;gt; ({ ...pre, [name]: value }));
        }


    }

    const submitData = () =&amp;gt; {

        const ErrorList = ValidateMyModel(modelData, RequiredFiledModel);


        if (ErrorList.length === 0) {

            if (TermsCondition) {
                alert("Data Successfully Saved")
            }
            else {
                alert("Please accept Terms and Condition");
            }
        }
        else {
            alert(ErrorList.toString());
        }


    }

  return (
      &amp;lt;&amp;gt;

          &amp;lt;div className="main-block"&amp;gt;
              &amp;lt;div className="formBody"&amp;gt;
                      &amp;lt;h1&amp;gt;Model Validate Example&amp;lt;/h1&amp;gt;                     
                      &amp;lt;fieldset&amp;gt;
                          &amp;lt;legend&amp;gt;
                              &amp;lt;h3&amp;gt;Personal Details&amp;lt;/h3&amp;gt;
                          &amp;lt;/legend&amp;gt;
                          &amp;lt;div className="personal-details"&amp;gt;
                          &amp;lt;div&amp;gt;
                              &amp;lt;div&amp;gt;&amp;lt;label&amp;gt;Name*&amp;lt;/label&amp;gt;&amp;lt;input type="text" name="Name" value={Name } onChange={(e) =&amp;gt; { onInputChange(e)} } /&amp;gt;&amp;lt;/div&amp;gt;
                              &amp;lt;div&amp;gt;&amp;lt;label&amp;gt;Phone*&amp;lt;/label&amp;gt;&amp;lt;input type="text" name="Phone" value={Phone} onChange={(e) =&amp;gt; { onInputChange(e)} } /&amp;gt;&amp;lt;/div&amp;gt;
                              &amp;lt;div&amp;gt;&amp;lt;label&amp;gt;Street&amp;lt;/label&amp;gt;&amp;lt;input type="text" name="Street" value={Street } onChange={(e) =&amp;gt; { onInputChange(e)} } /&amp;gt;&amp;lt;/div&amp;gt;
                              &amp;lt;div&amp;gt;&amp;lt;label&amp;gt;City*&amp;lt;/label&amp;gt;&amp;lt;input type="text" name="City" value={City } onChange={(e) =&amp;gt; { onInputChange(e)} } /&amp;gt;&amp;lt;/div&amp;gt;
                                  &amp;lt;div&amp;gt;
                                  &amp;lt;label&amp;gt;Country*&amp;lt;/label&amp;gt;
                                  &amp;lt;select name="Country" value={Country} onChange={(e) =&amp;gt; { onInputChange(e) }} &amp;gt;
                                          &amp;lt;option value=""&amp;gt;&amp;lt;/option&amp;gt;
                                      {countryList.map((item, index) =&amp;gt; (
                                          &amp;lt;option key={index + "Country"} value={item} &amp;gt;{item}&amp;lt;/option&amp;gt;
                                      ))}
                                      &amp;lt;/select&amp;gt;
                                  &amp;lt;/div&amp;gt;

                              &amp;lt;/div&amp;gt;
                              &amp;lt;div&amp;gt;
                                  &amp;lt;div&amp;gt;
                                      &amp;lt;label&amp;gt;Gender*&amp;lt;/label&amp;gt;
                                      &amp;lt;div className="gender"&amp;gt;
                                      &amp;lt;input type="radio" value="Male" id="male" name="Gender"  onChange={(e) =&amp;gt; { onInputChange(e)} } /&amp;gt;
                                          &amp;lt;label htmlFor="male" className="radio"&amp;gt;Male&amp;lt;/label&amp;gt;
                                      &amp;lt;input type="radio" value="Female" id="female" name="Gender"  onChange={(e) =&amp;gt; { onInputChange(e)} } /&amp;gt;
                                          &amp;lt;label htmlFor="female" className="radio"&amp;gt;Female&amp;lt;/label&amp;gt;
                                      &amp;lt;/div&amp;gt;
                                  &amp;lt;/div&amp;gt;
                                  &amp;lt;div className="birthdate"&amp;gt;
                                      &amp;lt;label&amp;gt;Birthdate*&amp;lt;/label&amp;gt;
                                  &amp;lt;div className="bdate-block"&amp;gt;
                                      &amp;lt;select className="day" name="Birthdate" value={Birthdate} onChange={(e) =&amp;gt; { onInputChange(e) }} &amp;gt;
                                          &amp;lt;option value=""&amp;gt;&amp;lt;/option&amp;gt;
                                          {
                                              RangeData(1,31)?.map((item, index) =&amp;gt; (

                                                  &amp;lt;option key={index + "Date"} value={"0" + item}&amp;gt;{"0" + item}&amp;lt;/option&amp;gt;

                                          ))                              
                                          }   
                                          &amp;lt;/select&amp;gt;
                                      &amp;lt;select className="month" value={BirthdateMonth} name="BirthdateMonth" onChange={(e) =&amp;gt; { onInputChange(e)} } &amp;gt;
                                          &amp;lt;option value=""&amp;gt;&amp;lt;/option&amp;gt;
                                          {monthNames.map((item, index) =&amp;gt; (
                                              &amp;lt;option key={index + "month"} value={item} &amp;gt;{item}&amp;lt;/option&amp;gt;
                                          ))}
                                          &amp;lt;/select&amp;gt;
                                      &amp;lt;input type="text" name="BirthdateYear" value={BirthdateYear } onChange={(e) =&amp;gt; { onInputChange(e)} } /&amp;gt;
                                      &amp;lt;/div&amp;gt;
                                  &amp;lt;/div&amp;gt;
                                  &amp;lt;div&amp;gt;
                                      &amp;lt;label&amp;gt;Nationality*&amp;lt;/label&amp;gt;
                                  &amp;lt;select name="Nationality" value={Nationality} onChange={(e) =&amp;gt; { onInputChange(e)} } &amp;gt;
                                      &amp;lt;option value=""&amp;gt;&amp;lt;/option&amp;gt;
                                      {countryList.map((item, index) =&amp;gt; (
                                          &amp;lt;option key={index + "Nationality"} value={item} &amp;gt;{item }&amp;lt;/option&amp;gt;
                                          ))}
                                      &amp;lt;/select&amp;gt;
                                  &amp;lt;/div&amp;gt;                                  
                              &amp;lt;/div&amp;gt;
                          &amp;lt;/div&amp;gt;
                      &amp;lt;/fieldset&amp;gt;
                      &amp;lt;fieldset&amp;gt;
                          &amp;lt;legend&amp;gt;
                              &amp;lt;h3&amp;gt;Terms and Condition&amp;lt;/h3&amp;gt;
                          &amp;lt;/legend&amp;gt;
                          &amp;lt;div className="terms-mailing"&amp;gt;
                          &amp;lt;div className="checkbox"&amp;gt;
                              &amp;lt;input type="checkbox" name="TermsCondition" checked={TermsCondition} onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;&amp;lt;span&amp;gt;I accept the &amp;lt;a href="https://biharisoft.com/EduBox/"&amp;gt;Biharisoft&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;
                              &amp;lt;/div&amp;gt;                          
                              &amp;lt;/div&amp;gt;
                  &amp;lt;/fieldset&amp;gt;
                  &amp;lt;button type="submit" onClick={() =&amp;gt; { submitData()} }&amp;gt;Submit&amp;lt;/button&amp;gt;
              &amp;lt;/div&amp;gt;
              &amp;lt;/div&amp;gt;

      &amp;lt;/&amp;gt;
  );
}

export default App;

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2) Mode.js&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;export const DetailsModel = {

    Name:"",
    Gender:"",
    Phone:"",
    Birthdate:"",
    Street: "",
    Nationality: "",
    City:"",
    Country: "",
    BirthdateMonth: "",
    BirthdateYear: "",
    TermsCondition: false

};


export const RequiredFiledModel = {

    Name: "Name Required",    
    Phone: "Phone Required",
    Birthdate: "Birth Date Required",
    Nationality: "Nationality Required",
    Country: "Country Required",
    BirthdateMonth: "Birth Month Required",
    BirthdateYear: "Birth Year Required"


};

export const countryList = [
    "Afghanistan",    
    "India",
    "Indonesia",
    "Iran (Islamic Republic of)",
    "Nepal",
    "United Kingdom of Great Britain and Northern Ireland (the)",
    "United States Minor Outlying Islands (the)",
    "United States of America (the)",
];

export const monthNames = ["January", "February", "March", "April", "May", "June",
    "July", "August", "September", "October", "November", "December"];

export const RangeData = (startVal, RangeVal) =&amp;gt; {

    const List = [];
    for (let i = startVal; i &amp;lt;= RangeVal; i++) {
        List.push(i);
    }
    return List;
}

export const ValidateMyModel = (validateModel, validateModelData) =&amp;gt; {
    console.log(validateModel);
    const validateFilterModel = {};
    const ReturnErrorList = [];

    for (const [key, value] of Object.entries(validateModelData)) {
        if (validateModel.hasOwnProperty(key)) {
            validateFilterModel[key] = validateModel[key];
        }
    }

    for (const [key, value] of Object.entries(validateFilterModel)) {
        if (!value)
        {
            ReturnErrorList.push(validateModelData[key]);
        }
    }
    return ReturnErrorList;


}

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3)App.css&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;html, body {
    min-height: 100%;
}

body, div, form, input, select, p {
    padding: 0;
    margin: 0;
    outline: none;
    font-family: Roboto, Arial, sans-serif;
    font-size: 14px;
    color: #666;
}

h1 {
    margin: 0;
    font-weight: 400;
}

h3 {
    margin: 12px 0;
    color: #8ebf42;
}

.main-block {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
}

.formBody {
    width: 100%;
    padding: 20px;
}

fieldset {
    border: none;
    border-top: 1px solid #8ebf42;
}

.account-details, .personal-details {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

    .account-details &amp;gt; div, .personal-details &amp;gt; div &amp;gt; div {
        display: flex;
        align-items: center;
        margin-bottom: 10px;
    }

    .account-details &amp;gt; div, .personal-details &amp;gt; div, input, label {
        width: 100%;
    }

label {
    padding: 0 5px;
    text-align: right;
    vertical-align: middle;
}

input {
    padding: 5px;
    vertical-align: middle;
}

.checkbox {
    margin-bottom: 10px;
}

select, .children, .gender, .bdate-block {
    width: calc(100% + 26px);
    padding: 5px 0;
}

select {
    background: transparent;
}

.gender input {
    width: auto;
}

.gender label {
    padding: 0 5px 0 0;
}

.bdate-block {
    display: flex;
    justify-content: space-between;
}

.birthdate select.day {
    width: 49px;
}

.birthdate select.month {
    width: calc(100% - 94px);
}

.birthdate input {
    width: 38px;
    vertical-align: unset;
}

.checkbox input, .children input {
    width: auto;
    margin: -2px 10px 0 0;
}

.checkbox a {
    color: #8ebf42;
}

    .checkbox a:hover {
        color: #82b534;
    }

button {
    width: 100%;
    padding: 10px 0;
    margin: 10px auto;
    border-radius: 5px;
    border: none;
    background: #8ebf42;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}

    button:hover {
        background: #82b534;
    }

@media (min-width: 568px) {
    .account-details &amp;gt; div, .personal-details &amp;gt; div {
        width: 50%;
    }

    label {
        width: 40%;
    }

    input {
        width: 60%;
    }

    select, .children, .gender, .bdate-block {
        width: calc(60% + 16px);
    }
}

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

&lt;/div&gt;



&lt;p&gt;Well done! You now have Done Form Model Validation in React Web App!&lt;/p&gt;

&lt;p&gt;Drop some love by liking or commenting ♥&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Reference &lt;a href="https://www.w3schools.com/react/default.asp" rel="noopener noreferrer"&gt;w3schools&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/BIHARISOFT/EduBox/tree/master/model_validate" rel="noopener noreferrer"&gt;Download Source Code from GitHub Repository&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
      <category>react</category>
    </item>
    <item>
      <title>How mange Global State Management In React With the Help of useContext() Hook and time to say bye-bye Redux ?</title>
      <dc:creator>Radheshyam Gupta</dc:creator>
      <pubDate>Sat, 16 Sep 2023 18:49:19 +0000</pubDate>
      <link>https://forem.com/radhe65gupta/how-mange-global-state-management-in-react-with-the-help-of-usecontext-hook-and-time-to-say-bye-bye-redux--2c8p</link>
      <guid>https://forem.com/radhe65gupta/how-mange-global-state-management-in-react-with-the-help-of-usecontext-hook-and-time-to-say-bye-bye-redux--2c8p</guid>
      <description>&lt;p&gt;&lt;a href="https://biharisoft.com/EduShopping" rel="noopener noreferrer"&gt;Go For Live Demo For Shopping Cart Web App&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://biharisoft.com/ShowPopup" rel="noopener noreferrer"&gt;Go For Live Demo For Dynamic Global  Popup  Box&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;And also cover How to make Dynamic Global  Popup  Box (Success,Warn,Error) and mange it with Context hook for Web App?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;React Hooks Which played a big role for developing React Application are useState(),useEffect(),useRef(),useContext() and More.&lt;/p&gt;

&lt;p&gt;In This post i shall work on useContext() Hook to Manage Global  State.Basically We Create A Shopping Cart Web App Who manage All Carting Facility, like add Item in Cart,remove Item From Cart,Calculate  Cart Value and so on.&lt;/p&gt;

&lt;p&gt;Now we Come on Our Topic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1) First we Create a Folder With Store Context file name like **"GlobalContext"&lt;/strong&gt; and Add new js file &lt;strong&gt;"GlobalContext.js"&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;import React, { createContext } from 'react';

const GlobelContext = createContext("");
export default GlobelContext;

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

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;2)Now We Create a JavaScript List who store out Item Details.&lt;br&gt;
for this we also create a separate Folder and File on your desire.&lt;br&gt;
I have "DbFile " Folder   and "BookList.js" file.&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/*This image use for showing item*/
import Grewal from "./Image/Book1.jpg";
import RVK from "./Image/Book2.jpg";
import Radha from "./Image/Book3.jpg";
import Aggarwal from "./Image/Book4.jpg";
export const BookList = [
    {
        BookId:1,
        BookImgSrc: Grewal,
        BookName: "T.S.Grewal's Double Entry Book Keeping…",
        BookPrice:765.00,
        BookPriceDisCount:800.00,
        BookPublisher:"T.S.Grewal's",
        ItemQnt:1,
    },
    {
        BookId: 2,
        BookImgSrc: RVK,
        BookName:"Introductory Macroeconomics And Indian Economic Development",
        BookPrice:944.00,
        BookPriceDisCount:954.00,
        BookPublisher: "RVK Global Publications Pvt, LtdVK Global Publications Pvt Ltd",
        ItemQnt: 1,
    },
    {
        BookId: 3,
        BookImgSrc: Radha,
        BookName:"Indian Economic Development &amp;amp; Introductory Macroeconomic",
        BookPrice:688.00,
        BookPriceDisCount:750.00,
        BookPublisher: "Radha Bahuguna",
        ItemQnt: 1,
    },
    {
        BookId: 4,
        BookImgSrc: Aggarwal,
        BookName:"Secondary School Mathematics for Cl…",
        BookPrice:729.00,
        BookPriceDisCount:835,
        BookPublisher: "R.S. Aggarwal",
        ItemQnt: 1,
    },

];

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3)Now time to Create a Folder like **component&lt;/strong&gt; which hold our all component  like** BookCard.jsx ,CartCard.jsx,NavBar.jsx ,PopupBox.jsx  and PopupBox.css**  file **&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;a)BookCard.jsx which show our Individual Item Details.&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;import { useContext } from "react";
import { BookList } from "../DbFile/BookList";
import GlobelContext from "../GlobalContext/GlobalContext";
import PopupBox from "./PopupBox";

const BookCard = (props) =&amp;gt;
{
    const { cartValue, setCartValue, setShowPopupBox } = useContext(GlobelContext);

    const { BookImgSrc, BookName, BookPrice, BookPriceDisCount, BookPublisher, BookId } = props;

    const AddProductInCard = (Item) =&amp;gt; {
        const isAvailabe = cartValue.some(obj =&amp;gt; obj.BookId === Item);
        if (!isAvailabe) {
            const CartItem = BookList.find((bookItem) =&amp;gt; { return bookItem.BookId === Item });

            setCartValue((pre) =&amp;gt; ([...pre, CartItem]));
            setShowPopupBox(&amp;lt;PopupBox Message="Item Successfully Added In Your Cart,Go Cart to Buy" RedirectUrl="/Cart" IsSuccess={true} IsWarning={false} IsError={false} /&amp;gt;);
        }
        else
        {
            setShowPopupBox(&amp;lt;PopupBox Message="Allready In Cart,Go To Cart to See" RedirectUrl="/Cart" IsSuccess={false} IsWarning={true} IsError={false} /&amp;gt;);
        }



    }
    return (
        &amp;lt;&amp;gt;
            &amp;lt;div className="BookCard"&amp;gt;
                &amp;lt;img className="BookCardImg" src={BookImgSrc} alt={BookPublisher} /&amp;gt;
                &amp;lt;div&amp;gt;
                    &amp;lt;span className="BookTitle"&amp;gt;{BookName}&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;
                    &amp;lt;span className="BookPubisher"&amp;gt;{BookPublisher}&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div className="BookPriceText"&amp;gt;
                    &amp;lt;span&amp;gt;₹&amp;amp;nbsp;{BookPrice}&amp;amp;nbsp;&amp;lt;/span&amp;gt;
                    &amp;lt;span className="BookPrice"&amp;gt;₹&amp;amp;nbsp;{BookPriceDisCount}&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/span&amp;gt;
                    &amp;lt;button className="CartBtn" onClick={() =&amp;gt; { AddProductInCard(BookId)} }&amp;gt;Add Cart&amp;lt;/button&amp;gt;
                    &amp;lt;br /&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;

        &amp;lt;/&amp;gt;
    );
}
export default BookCard;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;b)CartCard.jsx which show our Individual Item Details In Cart page.&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;import { useContext } from "react";
import { BookList } from "../DbFile/BookList";
import GlobelContext from "../GlobalContext/GlobalContext";
import PopupBox from "./PopupBox";

const CartCard = (props) =&amp;gt; {
    const { cartValue, setCartValue, setShowPopupBox } = useContext(GlobelContext);

    const { BookImgSrc, BookName, BookPrice, BookPriceDisCount, BookPublisher, BookId, ItemQnt } = props;

    const DeleteProductFromCard = (Item) =&amp;gt; {

        const CartItem = cartValue.filter((bookItem) =&amp;gt; { return bookItem.BookId !== Item });

        setCartValue((pre) =&amp;gt; (CartItem));
        setShowPopupBox(&amp;lt;PopupBox Message="Item Deleted" RedirectUrl="/Cart" IsSuccess={false} IsWarning={false} IsError={true} /&amp;gt;);

    }

    const AddNewItemInCard = (event, Item) =&amp;gt; {
        const { value } = event.target;

        const CartItem = cartValue.filter((bookItem) =&amp;gt; {
            if (bookItem.BookId === Item) {
                return bookItem.ItemQnt = parseInt(value);
            }
            else {
                return bookItem;
            }
        });

        setCartValue((pre) =&amp;gt; (CartItem));

    }

    return (
        &amp;lt;&amp;gt;
            &amp;lt;div className="CartCard"&amp;gt;
                &amp;lt;div className="CartCardLeft"&amp;gt;
                    &amp;lt;img className="CartCardImg" src={BookImgSrc} alt={BookPublisher} /&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div className="CartCardRight"&amp;gt;
                    &amp;lt;span className="CartTitle"&amp;gt;{BookName}&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;
                    &amp;lt;span className="BookPubisher"&amp;gt;By&amp;amp;nbsp; {BookPublisher}&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;

                    &amp;lt;span&amp;gt;₹&amp;amp;nbsp;{BookPrice}&amp;amp;nbsp;&amp;lt;/span&amp;gt;
                    &amp;lt;br /&amp;gt;
                    &amp;lt;br /&amp;gt;
                    &amp;lt;br /&amp;gt;
                    &amp;lt;br /&amp;gt;
                    &amp;lt;select className="CartValue" value={ItemQnt} onChange={(event) =&amp;gt; { AddNewItemInCard(event, BookId) }} &amp;gt;
                        &amp;lt;option value={1}&amp;gt;1&amp;lt;/option&amp;gt;
                        &amp;lt;option value={2}&amp;gt;2&amp;lt;/option&amp;gt;
                        &amp;lt;option value={3}&amp;gt;3&amp;lt;/option&amp;gt;
                        &amp;lt;option value={4}&amp;gt;4&amp;lt;/option&amp;gt;
                    &amp;lt;/select&amp;gt;
                    &amp;lt;button className="DeleteBtn" onClick={() =&amp;gt; { DeleteProductFromCard(BookId) }}&amp;gt;Delete&amp;lt;/button&amp;gt;
                    &amp;lt;br /&amp;gt;
                &amp;lt;/div&amp;gt;

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

        &amp;lt;/&amp;gt;
    );
}
export default CartCard;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;c)NavBar.jsx which show our NavBar and Added Item Count.&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;import React, { useContext } from 'react';
import { Link } from 'react-router-dom';
import GlobelContext from '../GlobalContext/GlobalContext';
import { ShoppingCart } from '../Icons/Icons';
const NavBar = () =&amp;gt; {

    const { cartValue } = useContext(GlobelContext);
    let cartVal = cartValue.length;
    return (&amp;lt;&amp;gt;

        &amp;lt;div className="Navbar"&amp;gt;
            &amp;lt;div className="NavbarLogo"&amp;gt;
                &amp;lt;Link to="/"&amp;gt;
                    &amp;lt;h3&amp;gt;BihariSoft ,The Online Edu Shop&amp;lt;/h3&amp;gt;
                &amp;lt;/Link&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div className="NavbarLogo"&amp;gt;
                &amp;lt;Link to="/ShowPopup"&amp;gt;
                    &amp;lt;h3&amp;gt;ShowPopup page&amp;lt;/h3&amp;gt;
                &amp;lt;/Link&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div className="Cart"&amp;gt;
                &amp;lt;Link to="/Cart" &amp;gt;
                &amp;lt;ShoppingCart ClassNm="IconCart" IconColor="blue" IconSize={2} /&amp;gt;
                 &amp;lt;span className="IconCartVal"&amp;gt;{cartVal}&amp;lt;/span&amp;gt;                    
                &amp;lt;/Link&amp;gt;
                &amp;lt;h6&amp;gt;Cart&amp;lt;/h6&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/&amp;gt;)
}
export default NavBar;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;d)PopupBox.jsx which show our Popup Box .&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;import React, { useContext } from 'react';
import GlobelContext from '../GlobalContext/GlobalContext';
import { CheckCircle, Error, Warning } from '../Icons/Icons';
import './PopupBox.css';

const PopupBox = (props) =&amp;gt; {
    console.log(props)

    const { ClosePopup } = useContext(GlobelContext);
    console.log(ClosePopup)
    const { Message, RedirectUrl, IsSuccess, IsWarning, IsError } = props;

    const MessageList = Message.split(",");

    const PopupHeader = IsSuccess ? "PopupSucces" : IsWarning ? "PopupWarn" : IsError ? "PopupError" : "PopupWarn";

    const PopupHeaderMsg = IsSuccess ? "Success" : IsWarning ? "Warning" : IsError ? "Error" : "Warning";

    const PopupHeaderIcon = IsSuccess ? &amp;lt;CheckCircle ClassNm="IconPopup" IconColor="#fefefe" IconSize={1.4} /&amp;gt;
        : IsWarning ? &amp;lt;Warning ClassNm="IconPopup" IconColor="#fefefe" IconSize={1} /&amp;gt;
            : IsError ? &amp;lt;Error ClassNm="IconPopup" IconColor="#fefefe" IconSize={1.4} /&amp;gt;
                : &amp;lt;Warning ClassNm="IconPopup" IconColor="#fefefe" IconSize={1} /&amp;gt;;
    const CloseMe = () =&amp;gt; {

        ClosePopup(RedirectUrl);
    }

    return (

        &amp;lt;&amp;gt;

            &amp;lt;div className="PopupBoxmodal"&amp;gt;

                &amp;lt;div className="PopupBoxModalContent"&amp;gt;
                    &amp;lt;div className={"PopupHeader " + PopupHeader}&amp;gt;
                        &amp;lt;div className="PopupHeaderTitle"&amp;gt;&amp;lt;b&amp;gt;{PopupHeaderMsg}&amp;lt;/b&amp;gt;{PopupHeaderIcon}&amp;lt;/div&amp;gt;
                        &amp;lt;div className="PopupBoxClose"&amp;gt;
                            &amp;lt;span onClick={() =&amp;gt; { CloseMe() }}&amp;gt;&amp;amp;times;&amp;lt;/span&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;div className="PopupMessageBody" &amp;gt;
                        &amp;lt;ul&amp;gt;
                            {
                                MessageList.map((msg,index)=&amp;gt;(

                                    &amp;lt;li key={"PopupMSg " + index}&amp;gt;{msg}&amp;lt;/li&amp;gt;
                                ))

                            }


                        &amp;lt;/ul&amp;gt;
                    &amp;lt;/div&amp;gt;


                    &amp;lt;div className="PopupFooter"&amp;gt;
                        &amp;lt;button className={"Popupbtn " + PopupHeader} onClick={() =&amp;gt; { CloseMe() }}&amp;gt; Ok&amp;lt;/button&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;

            &amp;lt;/div&amp;gt;
        &amp;lt;/&amp;gt;
    );
}

export default PopupBox;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;e)PopupBox.css for  Popup Box .&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;.PopupBoxmodal {
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    padding-top: 100px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}
/* Modal Content */
.PopupBoxModalContent {
    background-color: #fefefe;
    margin: auto;
    padding: 0px;
    border: 1px solid #888;
    width: 42%;
    border-radius: 9px;
    position: relative;
    height: 272px;
}
.PopupHeader {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    border-bottom: 1px solid #e6eaec;
    border-top-left-radius: 9px;
    border-top-right-radius: 9px;
}
    /* The Close Button */
.PopupBoxClose {   
    position: absolute;
    top: 5px;
    right: 7px;
    color: #fff;
    text-shadow: none;
   /* opacity: 0.5;*/
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 20px;
    font-size: 28px;
}
.PopupBoxClose span {
    margin-top: 0px;
    margin-left: 8px;
    display: block;
}
    .PopupBoxClose:hover, .PopupBoxClose:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}

.PopupSucces 
{
  background: #82ce34;

}
.PopupError 
{
  background: #ee3535;
}
.PopupWarn 
{
background: #eda645;
}
.IconPopup {
    cursor: pointer;
    margin-left: 21px;
    margin-top: -4px;
    position: absolute;
}
.PopupHeaderTitle {
    padding: 14px;
    color: aliceblue;
}
.PopupSucces:hover, .PopupSucces:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}
.PopupMessageBody {
    padding: 14px;
    height: 54%;
    overflow-y: auto;
}
.PopupMessageBody ul li{
   padding: 4px;
    font-size: 15px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.PopupFooter {
    padding: 14px;
    height: 7%;
    border-top: 1px solid;
    border-bottom-left-radius: 9px;
    border-bottom-right-radius: 9px;
    background: #ecf0f1;
    border-color: #e6eaec;
}

.Popupbtn {
    color: #fff;
    text-decoration: none;
    transition: all 0.4s;
    line-height: normal;
    border-radius: 3px;
    padding: 6px 20px;
    min-width: 75px;
    border: none;
    margin-left: 69%;
}
.Popupbtn:hover {
    cursor: pointer;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;4) Create another Folder name like **Icons **which hold our Popup Icons File Icons.js .&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;
import React from 'react';


export const ShoppingCart = (props) =&amp;gt; {
    const {ClassNm,IconColor,IconSize} = props;
    return (
        &amp;lt;svg className={ClassNm} fill={IconColor} transform={`scale(${IconSize})`} xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24" &amp;gt;
            &amp;lt;path d="M280-80q-33 0-56.5-23.5T200-160q0-33 23.5-56.5T280-240q33 0 56.5 23.5T360-160q0 33-23.5 56.5T280-80Zm400 0q-33 0-56.5-23.5T600-160q0-33 23.5-56.5T680-240q33 0 56.5 23.5T760-160q0 33-23.5 56.5T680-80ZM246-720l96 200h280l110-200H246Zm-38-80h590q23 0 35 20.5t1 41.5L692-482q-11 20-29.5 31T622-440H324l-44 80h480v80H280q-45 0-68-39.5t-2-78.5l54-98-144-304H40v-80h130l38 80Zm134 280h280-280Z" /&amp;gt;
        &amp;lt;/svg &amp;gt;

        );
};

export const CheckCircle = (props) =&amp;gt; {
    const {ClassNm,IconColor,IconSize} = props;
    return (
        &amp;lt;svg className={ClassNm} fill={IconColor} transform={`scale(${IconSize})`}  xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"&amp;gt;
            &amp;lt;path d="m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z" /&amp;gt;
        &amp;lt;/svg&amp;gt;

        );
};
export const Warning = (props) =&amp;gt; {
    const {ClassNm,IconColor,IconSize} = props;
    return (
        &amp;lt;svg className={ClassNm} fill={IconColor} transform={`scale(${IconSize})`} xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"&amp;gt;
            &amp;lt;path d="m40-120 440-760 440 760H40Zm138-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm-40-120h80v-200h-80v200Zm40-100Z" /&amp;gt;
        &amp;lt;/svg&amp;gt;

        );
};
export const Error = (props) =&amp;gt; {
    const {ClassNm,IconColor,IconSize} = props;
    return (
        &amp;lt;svg className={ClassNm} fill={IconColor} transform={`scale(${IconSize})`} xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"&amp;gt;
            &amp;lt;path d="M480-280q17 0 28.5-11.5T520-320q0-17-11.5-28.5T480-360q-17 0-28.5 11.5T440-320q0 17 11.5 28.5T480-280Zm-40-160h80v-240h-80v240Zm40 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z" /&amp;gt;
        &amp;lt;/svg&amp;gt;

        );
};

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;5)And Now Create a Folder **CommonService&lt;/strong&gt; which hold CommonService.js file .In this file we create a function calculateSum() which manipulate Cart Item Count**&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export const calculateSum = (array, property, property2,reqTye) =&amp;gt; {

        const total = array.reduce((preSum, obj) =&amp;gt; {
            return reqTye === "proOne" ?
                (preSum + obj[property]) :
                ((preSum + obj[property]) * obj[property2]);
        }, 0);

        return total;

}


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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;6)Now time to Create a Folder **pages&lt;/strong&gt; which hold Three pages file name like  HomePage.jsx ,MyCart.jsx and ShowPopup.jsx.**&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;a)HomePage.jsx which show our Product List.&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;import React from 'react';
import BookCard from '../component/BookCard';
import NavBar from '../component/NavBar';
import { BookList } from '../DbFile/BookList';
const HomePage = () =&amp;gt; {

    return (&amp;lt;&amp;gt;
        &amp;lt;NavBar /&amp;gt;
        &amp;lt;div className="BookCardBody"&amp;gt;
            {
                BookList.map((item,index) =&amp;gt; (

                    &amp;lt;BookCard key={index + "book"} BookId={item.BookId} BookImgSrc={item.BookImgSrc} BookName={item.BookName} BookPrice={item.BookPrice} BookPriceDisCount={item.BookPriceDisCount} BookPublisher={item.BookPublisher} /&amp;gt;
                    ))
            }
        &amp;lt;/div&amp;gt;

    &amp;lt;/&amp;gt;)
}

export default HomePage;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;b)MyCart.jsx which show our Cart Details. *&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React, { useContext } from 'react';
import { calculateSum } from '../CommonService/CommonService';
import CartCard from '../component/CartCard';
import NavBar from '../component/NavBar';
import GlobelContext from '../GlobalContext/GlobalContext';
const MyCart = () =&amp;gt; {

    const { cartValue, setCartValue } = useContext(GlobelContext);
    const TotalCartValue = calculateSum(cartValue, "BookPrice", "ItemQnt", "proTwo");
    const TotalCartCount = calculateSum(cartValue, "ItemQnt", "", "proOne");
    return (
        &amp;lt;&amp;gt;
            &amp;lt;NavBar/&amp;gt;
        &amp;lt;h1&amp;gt;Shopping Cart&amp;lt;/h1&amp;gt;
            &amp;lt;div className="CartBody"&amp;gt;
                &amp;lt;div className="CartBodyLeft" &amp;gt;
                {
                    cartValue.map((item, index) =&amp;gt; (

                        &amp;lt;CartCard key={index + "book"} BookId={item.BookId} BookImgSrc={item.BookImgSrc} BookName={item.BookName} BookPrice={item.BookPrice} BookPriceDisCount={item.BookPriceDisCount} BookPublisher={item.BookPublisher} ItemQnt={item.ItemQnt } /&amp;gt;
                    ))
                    }
                &amp;lt;/div&amp;gt;
                &amp;lt;div className="CartBodyRight"&amp;gt;
                    &amp;lt;table className="CartTable"&amp;gt;
                        &amp;lt;thead&amp;gt;
                            &amp;lt;tr&amp;gt;
                                &amp;lt;th&amp;gt;Product&amp;lt;/th&amp;gt;
                                &amp;lt;th&amp;gt;Mrp&amp;lt;/th&amp;gt;
                                &amp;lt;th colSpan="2"&amp;gt;Quantity&amp;lt;/th&amp;gt;

                            &amp;lt;/tr&amp;gt;
                        &amp;lt;/thead&amp;gt;
                        &amp;lt;tbody&amp;gt;
                            {
                                cartValue.map((item, index) =&amp;gt; (
                                    &amp;lt;tr className="TotalCartTxt" key={item.BookName + index}&amp;gt;
                                        &amp;lt;td className="BookPubisher"&amp;gt;{item.BookName}&amp;lt;/td&amp;gt;
                                        &amp;lt;td&amp;gt;₹&amp;amp;nbsp;{item.BookPrice}&amp;lt;/td&amp;gt;
                                        &amp;lt;td&amp;gt;{item.ItemQnt}&amp;lt;/td&amp;gt;
                                        &amp;lt;td&amp;gt;{item.BookPrice * item.ItemQnt}&amp;lt;/td&amp;gt;
                                    &amp;lt;/tr&amp;gt;

                                ))
                            }


                        &amp;lt;/tbody&amp;gt;
                        &amp;lt;tfoot&amp;gt;
                            &amp;lt;tr&amp;gt;
                                &amp;lt;td&amp;gt;&amp;lt;h5&amp;gt;Total Item&amp;amp;nbsp;{TotalCartCount}&amp;amp;nbsp;&amp;lt;/h5&amp;gt;&amp;lt;/td&amp;gt;

                                &amp;lt;td colSpan="3" style={{ textAlign: 'right' }}&amp;gt;&amp;lt;strong&amp;gt; ₹&amp;amp;nbsp;{TotalCartValue}&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;
                            &amp;lt;/tr&amp;gt;
                        &amp;lt;/tfoot&amp;gt;
                    &amp;lt;/table&amp;gt;

                    &amp;lt;button className="proceedBtn"&amp;gt;Proceed to Buy&amp;lt;/button&amp;gt;
                &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

    &amp;lt;/&amp;gt;)
}
export default MyCart;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;C)ShowPopup.jsx which show our Dynamic PopupBox . *&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
import { useContext } from "react";
import NavBar from "../component/NavBar";
import PopupBox from "../component/PopupBox";
import GlobelContext from "../GlobalContext/GlobalContext";
import './../component/PopupBox.css';

const ShowPopup = () =&amp;gt; {

    const { setShowPopupBox } = useContext(GlobelContext);/* call  useContext */


    const ShowMe = (reqType) =&amp;gt; {
        if (reqType === "success") {

            setShowPopupBox(&amp;lt;PopupBox Message="WelCome Biharisoft,Succes Message" RedirectUrl="/Cart" IsSuccess={true} IsWarning={false} IsError={false} /&amp;gt;);
        }else if (reqType === "error") {

            setShowPopupBox(&amp;lt;PopupBox Message="WelCome Biharisoft,Error Message" RedirectUrl="/Cart" IsSuccess={false} IsWarning={false} IsError={true} /&amp;gt;);
        }else if (reqType === "warn") {

            setShowPopupBox(&amp;lt;PopupBox Message="WelCome Biharisoft,Warnning Message" RedirectUrl="/Cart" IsSuccess={false} IsWarning={true} IsError={false} /&amp;gt;);
        }
    }
    return (
        &amp;lt;&amp;gt;&amp;lt;NavBar/&amp;gt;
            &amp;lt;button className="PopupSucces" onClick={() =&amp;gt; { ShowMe("success") }}&amp;gt;Success Popup &amp;lt;/button&amp;gt;
            &amp;lt;button className="PopupWarn" onClick={() =&amp;gt; { ShowMe("warn") }} &amp;gt;Warnig Popup&amp;lt;/button&amp;gt;
            &amp;lt;button className="PopupError" onClick={() =&amp;gt; { ShowMe("error") }}&amp;gt;Error Popup&amp;lt;/button&amp;gt;
        &amp;lt;/&amp;gt;
        );
}

export default ShowPopup;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Now Time to  wrap All Our Pages with Context Provider in App.js File.&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;import './App.css';
import React, {  useState } from 'react';
import { BrowserRouter, Routes, Route } from 'react-router-dom';
import HomePage from './pages/HomePage';
import GlobelContext from './GlobalContext/GlobalContext';
import MyCart from './pages/MyCart';
import ShowPopup from './pages/ShowPopup';
function App()
{
    const [cartValue, setCartValue] = useState([]);
    const [showPopupBox, setShowPopupBox] = useState("");

    const ClosePopupBox = (props) =&amp;gt; {
         setShowPopupBox("");
    }

   /* Create Global Store Who Manage Our Global State*/
    const  StoreDbContext = {
        cartValue: cartValue,
        setCartValue: setCartValue,
        setShowPopupBox: setShowPopupBox,
        ClosePopup: ClosePopupBox,

        }
  return (
      &amp;lt;&amp;gt;  
          &amp;lt;GlobelContext.Provider value={StoreDbContext}&amp;gt;
              {showPopupBox}  
          &amp;lt;BrowserRouter&amp;gt;
              &amp;lt;Routes&amp;gt;
                  &amp;lt;Route path="/" element={&amp;lt;HomePage /&amp;gt;} /&amp;gt;
                  &amp;lt;Route index element={&amp;lt;HomePage /&amp;gt;} /&amp;gt;
                  &amp;lt;Route path="/Cart" element={&amp;lt;MyCart /&amp;gt;} /&amp;gt;
                  &amp;lt;Route path="/ShowPopup" element={&amp;lt;ShowPopup /&amp;gt;} /&amp;gt;
              &amp;lt;/Routes&amp;gt;
              &amp;lt;/BrowserRouter&amp;gt;
          &amp;lt;/GlobelContext.Provider&amp;gt;
      &amp;lt;/&amp;gt;   
  );
}

export default App;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Update Your index.css File With below css File&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;body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding: 0;
    background-color: #F3F3F4;
    font-family: Arial, Helvetica, sans-serif;
    overflow-y: scroll;
}

code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
    monospace;
}

.Navbar {
    display: flex;
    background-color: #a30d3b;
    border: 1px solid black;
    height: 56px;
}
.NavbarLogo {
    display: flex;
    width: 80%;
}
.Cart {
    display: flex;
    width: 20%;
}
.Cart a {
    text-decoration: none;

}
.Cart h6 {
  position: absolute;
    margin-left: 45px;
}
.NavbarLogo a {
    margin-left: 16px;
    color: forestgreen;
    text-decoration: none;
}
.IconCart {
    cursor: pointer;
    color: white;
    margin-left: 7px;
    margin-top: 12px;
    position: absolute;
}
.IconCartVal {
    cursor: pointer;
    color: white;
    margin-left: 12px;
    margin-top: 9px;
    position: absolute;
}
.BookCardBody {
    display: inline-flex;
    flex-wrap: wrap;
    margin-left: 30px;
}
.BookCard {
    width: 186px;
    height: 304px;
    color: black;
    border: 1px solid yellow;
    margin: 10px;
    padding: 3px;
    background-color: #ffffff;
}
.BookCardImg {
    width: 100%;
    height: 63%;
    color: white;
}
.BookTitle {
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word;
    display: block;
    line-height: 1em; /* a */
    max-height: 2em; /* a x number of line to show (ex : 2 line)  */
}
.BookPubisher {
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word;
    display: block;
    line-height: 1em; /* a */
    max-height: 1em; /* a x number of line to show (ex : 2 line)  */
}
.BookPrice {
    text-decoration: line-through;
}
.BookPriceText {
    font-weight: 700;
}
.CartBtn {
    padding: 2px;
    border: 2px solid #f14836;
    background-color: Background;
    border-radius: 50px;
    color: #f14836;
    cursor: pointer;
}
.CartBtn:hover {
    border: 2px solid Background;
    background-color: #f14836;
    border-radius: 50px;
    color: Background;  
}
.CartBody {
    display: inline-flex;
    flex-wrap: wrap;
    margin-left: 30px;
    border-top: 2px solid black;
    padding: 10px;
    height: 100%;
    width: 97%;
}
.CartBodyLeft {    
    height: 100%;
    width: 70%;
}
.CartBodyRight {
    margin: 10px;
    padding: 3px;
    height: 100%;
    width: 25%;
    background-color: #ffffff;
    margin-left: 30px;
}

.CartCard {
    display:flex;
    width: 100%;
    height: 304px;
    color: black;
    border: 1px solid yellow;
    margin: 10px;
    padding: 3px;
    background-color: #ffffff;
}

.CartCardLeft {
    padding: 20px;
}
.CartCardRight {
    padding: 20px;
}
.CartCardImg {
    width: 100%;
    height: 100%;
}

.CartTitle {
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word;
    display: block;
    line-height: 1em; /* a */
    max-height: 2em; /* a x number of line to show (ex : 2 line)  */
}
.DeleteBtn {
    padding: 2px;
    border: 2px solid #f14836;
    background-color: Background;
    border-radius: 7px;
    color: #f14836;
    cursor: pointer;
}

    .DeleteBtn:hover {
        border: 2px solid Background;
        background-color: #f14836;
        border-radius: 50px;
        color: Background;
    }

.CartValue {
    padding: 1px;
    border: 2px solid #f14836;
    background-color: #f0f2f2;
    border-radius: 7px;
    width: 66px;
    margin: 7px;
    color: #f14836;
    cursor: pointer;
    text-align: center;
}
.CartBodyRight h3 {
    text-align: right;
}
    .proceedBtn {
    cursor: pointer;
    border: 0;
    text-align: center;
    vertical-align: middle;
    background: #FFD814;
    border-color: #FCD200;
    border-style: solid;
    border-width: 1px;
    border-radius: 8px;
    box-shadow: 0 2px 5px 0 rgba(213,217,217,.5);
    width: 80%;
    padding: 5px;
    margin: 7px;
}
.TotalCartTxt {
    color: black;
    font-weight: 500;
    font-family: 'Times New Roman', Times, serif;

}
table, th, td, th {
    padding: 2px;
    border: 1px solid black;
    border-collapse: collapse;
}
.CartTable {
    width: 100%;
    background-color: #E7E9EB;
}



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

&lt;/div&gt;



&lt;p&gt;Well done! Finally mange Global State Management In React With the Help of useContext() Hook And make Dynamic Global  Popup  Box (Success,Warn,Error) for Web App!&lt;/p&gt;

&lt;p&gt;Drop some love by liking or commenting ♥&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Reference &lt;a href="https://www.w3schools.com/react/default.asp" rel="noopener noreferrer"&gt;w3schools&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Reference &lt;a href="https://fonts.google.com/icons" rel="noopener noreferrer"&gt;fonts.google&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/BIHARISOFT/EduBox/tree/master/context-hook/public" rel="noopener noreferrer"&gt;Download Source Code from GitHub Repository&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How to integration Digital persona 4500 fingerprint reader in asp.net core(Razor Page)?</title>
      <dc:creator>Radheshyam Gupta</dc:creator>
      <pubDate>Fri, 07 Jul 2023 07:09:19 +0000</pubDate>
      <link>https://forem.com/radhe65gupta/how-to-integration-digital-persona-4500-fingerprint-reader-in-aspnet-corerazor-page-38j</link>
      <guid>https://forem.com/radhe65gupta/how-to-integration-digital-persona-4500-fingerprint-reader-in-aspnet-corerazor-page-38j</guid>
      <description></description>
    </item>
    <item>
      <title>How to Add Form Validation in React using React useRef() Hook ?</title>
      <dc:creator>Radheshyam Gupta</dc:creator>
      <pubDate>Sat, 21 Jan 2023 12:16:54 +0000</pubDate>
      <link>https://forem.com/radhe65gupta/how-to-add-form-validation-in-react-using-react-useref-hook--1ie5</link>
      <guid>https://forem.com/radhe65gupta/how-to-add-form-validation-in-react-using-react-useref-hook--1ie5</guid>
      <description>&lt;p&gt;&lt;a href="https://biharisoft.com/EduBoxLive/FormValidationInReactHook" rel="noopener noreferrer"&gt;Go For Live Demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you've worked on any react applications React Hook played a big role to Control Html elements and its properties.&lt;/p&gt;

&lt;p&gt;Hook Which played a big role for developing React Application are useState(),useEffect(),useRef() and More .&lt;/p&gt;

&lt;p&gt;In This post i will work on useState() Hook to Save input Data and useRef() for Form Validation.&lt;/p&gt;

&lt;p&gt;Now we Come on Our Topic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to Create a Form in React? it is Design Part only&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;&amp;lt;&amp;gt;
            &amp;lt;div className='FormValBody'&amp;gt;

                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Name&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[0] = element} type='text' name='Name' value={Name} onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                &amp;lt;/div&amp;gt;



                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Mobile No&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[1] = element} type='text' name='MobileNo' value={MobileNo} onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;&amp;lt;/div&amp;gt;


                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Email Address&amp;lt;span className='FormErrorLabelSp'&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;input type='text' name='EmailAddress' value={EmailAddress} onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;&amp;lt;/div&amp;gt;



                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Gender&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;label&amp;gt; Male &amp;lt;/label&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[2] = element} type='radio' name='Gender' value='Male' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                    &amp;lt;label&amp;gt; Female &amp;lt;/label&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[3] = element}  name='Gender' type='radio' value='Female' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;&amp;lt;/div&amp;gt;



                &amp;lt;div className='FormValInputLabelSp'&amp;gt;
                    &amp;lt;div className='labelSeprater'&amp;gt;
                        &amp;lt;label &amp;gt;Date of Birth&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[4] = element} type='date' name='DateOfBirth' value={DateOfBirth} onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                &amp;lt;/div&amp;gt;



                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Language&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;label&amp;gt;Hindi&amp;lt;/label&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[5] = element} type='checkBox' name='Language' value='Hindi' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                    &amp;lt;label&amp;gt;Marathi&amp;lt;/label&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[6] = element}  name='Language' type='checkBox' value='Marathi' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                    &amp;lt;label&amp;gt;English&amp;lt;/label&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[7] = element}  name='Language' type='checkBox' value='English' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Country&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;label&amp;gt;India&amp;lt;/label&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[8] = element} type='checkBox' name='Country' value='India' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                    &amp;lt;label&amp;gt;Nepal&amp;lt;/label&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[9] = element} name='Country' type='checkBox' value='Nepal' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                   &amp;lt;/div&amp;gt;



                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;State&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;select ref={(element) =&amp;gt; formValidateRef.current[10] = element} name='State' value={State} onChange={(e) =&amp;gt; { onInputChange(e) }}&amp;gt;
                        &amp;lt;option value=''&amp;gt;---Select---&amp;lt;/option&amp;gt;
                        {StateName.map((sName, index) =&amp;gt; (
                            &amp;lt;option key={index + sName} value={sName}&amp;gt;{sName}&amp;lt;/option&amp;gt;
                        ))}
                    &amp;lt;/select&amp;gt;&amp;lt;/div&amp;gt;

                &amp;lt;button className='btnAdd' onClick={AddBtnFnt}&amp;gt;Add&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;



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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Now We Create App.css file for Styling Our Form.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;App.css&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;/*form Validation */

.FormValBody {
    float: left;
    padding: 10px 10px 10px 10px;
    background-color: azure;
}

    .FormValBody input {       
        padding: 5px 5px 5px 5px;
        border-color: gainsboro;
        outline-color: darkgrey;
        font-family: 'Times New Roman';
        font-size: 18px;
    }
.FormValBody input:active{
    outline-color:blue;
}

.FormValInputLabelSp {
    width: 393px;
    margin-top: 7px;
}
.labelSeprater {
    width: 133px;
    display: inline-block;
}

.FormErrorLabelSp {
    font-family: 'Comic Sans MS';
    font-size: 12px;
    color: red;
}

.btnAdd {
    margin-top:25px;
    margin-bottom:15px;
    margin-left: 38%;
    border: none;
    padding: 10px 20px 10px 20px;
    background-color: ButtonFace;
}
.btnAdd:hover{
    cursor:pointer;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;For Form Validation And Getting input Fields Value ,First We create Model related to our form.&lt;br&gt;
Model For Form&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Model Object&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;const DetailsModel = {
    Name: '',
    MobileNo: '',
    EmailAddress: '',
    Gender: '',
    DateOfBirth: '',
    Language: [],
    State: '',
    Country:''
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Create Array of List For Our Drop-Down List.&lt;/em&gt;&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;const StateName = ['Assam', 'Bihar', 'Chhattisgarh', 'Jharkhand', 'Karnataka', 'Maharashtra', 'Uttar Pradesh'];
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Next We use useState() Hook  For Storing Input Data and useRef() HooK for Validate Our Form&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;const [details, setDetails] = useState(DetailsModel);
 const formValidateRef = useRef([]);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;For Easily Access Value Of Our Object Model Key Value, we destructure our Model Object&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deestructuring Object&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;/* Deestructuring Object*/

    const { Name, MobileNo, EmailAddress, Gender, DateOfBirth, Language, State } = details;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Now We Create a Arrow Function For Update Out Input Field Value State.&lt;br&gt;
onInputChange() function&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;const onInputChange = (e) =&amp;gt; {

        const { name, value } = e.target;

        if (e.target.type === 'checkbox') {

            if (e.target.checked) {

                setDetails((previous) =&amp;gt; ({ ...previous, [name]: [...eval(name), value] }));
            }
            else {
                const filterData = eval(name).filter((lang) =&amp;gt; { return lang !== value });

                setDetails((previous) =&amp;gt; ({ ...previous, [name]: filterData }));
            }
        }

        else {

            setDetails((previous) =&amp;gt; ({ ...previous, [name]: value }))

        }

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;After Storing This all Form Input fields data in state ,Now Time To validate Form. So We Create New Arrow Function for Validation. &lt;br&gt;
ValidateData() function&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;const ValidateData = () =&amp;gt; {
        const validateArray = [];
        const checkedList= [];
        const unCheckedList= [];
        for (let i = 0; i &amp;lt; formValidateRef.current.length; i++) {

            if (!formValidateRef.current[i].value) {

                validateArray.push({ ErrorMsg: formValidateRef.current[i].name + '  is required' });
            }
            else if (formValidateRef.current[i].value) {
                if (formValidateRef.current[i].type === 'checkbox' || formValidateRef.current[i].type === 'radio') {

                    if (formValidateRef.current[i].checked) {
                        checkedList.push({ ErrorMsg: formValidateRef.current[i].name, IsStatus: formValidateRef.current[i].checked });
                    }
                    else {
                        unCheckedList.push({ ErrorMsg: formValidateRef.current[i].name, IsStatus: formValidateRef.current[i].checked });
                    }
                }  

            }
        }


        const checkedDt = [...new Map(checkedList.map((obj) =&amp;gt; [obj.ErrorMsg, obj])).values()];
        const unCheckedDt = [...new Map(unCheckedList.map((obj) =&amp;gt; [obj.ErrorMsg, obj])).values()];

        const results = unCheckedDt.filter(({ ErrorMsg: unErrorMsg }) =&amp;gt; !checkedDt.some(({ ErrorMsg: ckErrorMsg }) =&amp;gt; ckErrorMsg === unErrorMsg));


        if (checkedDt.length === 0 &amp;amp;&amp;amp; unCheckedDt.length &amp;gt; 0) {
            unCheckedDt.map((data) =&amp;gt; {

                validateArray.push({ ErrorMsg: data.ErrorMsg + '  is required' });
            })

        }
        else if (checkedDt.length &amp;gt; 0 &amp;amp;&amp;amp; unCheckedDt.length &amp;gt; 0) {

            results.map((data) =&amp;gt; {

                validateArray.push({ ErrorMsg: data.ErrorMsg + '  is required' });
            })

        }

        return validateArray;
    }

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;So Finally We Call This Validation Function On Add Button and And after Validation Of Form ,we Show Data in alert()  .&lt;br&gt;
AddBtnFnt()&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;const AddBtnFnt = () =&amp;gt; {

        const isValied = ValidateData();
        if (isValied.length &amp;gt; 0) {

            alert(JSON.stringify(isValied))

        }
        else {
            alert('SuccessFully Added')
        }


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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Now Finally We Validate Our Form. Final All Code are Below&lt;br&gt;
App.js&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;import React, { useState } from 'react';
import './App.css';
import React, { useRef, useState } from 'react';

const StateName = ['Assam', 'Bihar', 'Chhattisgarh', 'Jharkhand', 'Karnataka', 'Maharashtra', 'Uttar Pradesh'];

const DetailsModel = {
    Name: '',
    MobileNo: '',
    EmailAddress: '',
    Gender: '',
    DateOfBirth: '',
    Language: [],
    State: '',
    Country:''
}



const App = () =&amp;gt; {

    const [details, setDetails] = useState(DetailsModel);

    const formValidateRef = useRef([]);

    /* Deestructuring Object*/

    const { Name, MobileNo, EmailAddress, Gender, DateOfBirth, Language, State, Country } = details;


    const onInputChange = (e) =&amp;gt; {

        const { name, value } = e.target;

        if (e.target.type === 'checkbox') {

            if (e.target.checked) {

                setDetails((previous) =&amp;gt; ({ ...previous, [name]: [...eval(name), value] }));
            }
            else {
                const filterData = eval(name).filter((lang) =&amp;gt; { return lang !== value });

                setDetails((previous) =&amp;gt; ({ ...previous, [name]: filterData }));
            }
        }

        else {

            setDetails((previous) =&amp;gt; ({ ...previous, [name]: value }))

        }

    }

    const ValidateData = () =&amp;gt; {
        const validateArray = [];
        const checkedList= [];
        const unCheckedList= [];
        for (let i = 0; i &amp;lt; formValidateRef.current.length; i++) {

            if (!formValidateRef.current[i].value) {

                validateArray.push({ ErrorMsg: formValidateRef.current[i].name + '  is required' });
            }
            else if (formValidateRef.current[i].value) {
                if (formValidateRef.current[i].type === 'checkbox' || formValidateRef.current[i].type === 'radio') {

                    if (formValidateRef.current[i].checked) {
                        checkedList.push({ ErrorMsg: formValidateRef.current[i].name, IsStatus: formValidateRef.current[i].checked });
                    }
                    else {
                        unCheckedList.push({ ErrorMsg: formValidateRef.current[i].name, IsStatus: formValidateRef.current[i].checked });
                    }


                }



            }


        }



        const checkedDt = [...new Map(checkedList.map((obj) =&amp;gt; [obj.ErrorMsg, obj])).values()];
        const unCheckedDt = [...new Map(unCheckedList.map((obj) =&amp;gt; [obj.ErrorMsg, obj])).values()];

        const results = unCheckedDt.filter(({ ErrorMsg: unErrorMsg }) =&amp;gt; !checkedDt.some(({ ErrorMsg: ckErrorMsg }) =&amp;gt; ckErrorMsg === unErrorMsg));


        if (checkedDt.length === 0 &amp;amp;&amp;amp; unCheckedDt.length &amp;gt; 0) {
            unCheckedDt.map((data) =&amp;gt; {

                validateArray.push({ ErrorMsg: data.ErrorMsg + '  is required' });
            })

        }
        else if (checkedDt.length &amp;gt; 0 &amp;amp;&amp;amp; unCheckedDt.length &amp;gt; 0) {

            results.map((data) =&amp;gt; {

                validateArray.push({ ErrorMsg: data.ErrorMsg + '  is required' });
            })

        }

        return validateArray;
    }



    const AddBtnFnt = () =&amp;gt; {

        const isValied = ValidateData();
        if (isValied.length &amp;gt; 0) {

            alert(JSON.stringify(isValied))

        }
        else {
            alert('SuccessFully Added')
        }


    }


    return (

        &amp;lt;&amp;gt;
            &amp;lt;div className='FormValBody'&amp;gt;

                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Name&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[0] = element} type='text' name='Name' value={Name} onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                &amp;lt;/div&amp;gt;



                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Mobile No&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[1] = element} type='text' name='MobileNo' value={MobileNo} onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;&amp;lt;/div&amp;gt;


                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Email Address&amp;lt;span className='FormErrorLabelSp'&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;input type='text' name='EmailAddress' value={EmailAddress} onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;&amp;lt;/div&amp;gt;



                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Gender&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;label&amp;gt; Male &amp;lt;/label&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[2] = element} type='radio' name='Gender' value='Male' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                    &amp;lt;label&amp;gt; Female &amp;lt;/label&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[3] = element}  name='Gender' type='radio' value='Female' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;&amp;lt;/div&amp;gt;



                &amp;lt;div className='FormValInputLabelSp'&amp;gt;
                    &amp;lt;div className='labelSeprater'&amp;gt;
                        &amp;lt;label &amp;gt;Date of Birth&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[4] = element} type='date' name='DateOfBirth' value={DateOfBirth} onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                &amp;lt;/div&amp;gt;



                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Language&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;label&amp;gt;Hindi&amp;lt;/label&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[5] = element} type='checkBox' name='Language' value='Hindi' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                    &amp;lt;label&amp;gt;Marathi&amp;lt;/label&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[6] = element}  name='Language' type='checkBox' value='Marathi' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                    &amp;lt;label&amp;gt;English&amp;lt;/label&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[7] = element}  name='Language' type='checkBox' value='English' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Country&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;label&amp;gt;India&amp;lt;/label&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[8] = element} type='checkBox' name='Country' value='India' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                    &amp;lt;label&amp;gt;Nepal&amp;lt;/label&amp;gt;
                    &amp;lt;input ref={(element) =&amp;gt; formValidateRef.current[9] = element} name='Country' type='checkBox' value='Nepal' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                   &amp;lt;/div&amp;gt;



                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;State&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;select ref={(element) =&amp;gt; formValidateRef.current[10] = element} name='State' value={State} onChange={(e) =&amp;gt; { onInputChange(e) }}&amp;gt;
                        &amp;lt;option value=''&amp;gt;---Select---&amp;lt;/option&amp;gt;
                        {StateName.map((sName, index) =&amp;gt; (
                            &amp;lt;option key={index + sName} value={sName}&amp;gt;{sName}&amp;lt;/option&amp;gt;
                        ))}
                    &amp;lt;/select&amp;gt;&amp;lt;/div&amp;gt;

                &amp;lt;button className='btnAdd' onClick={AddBtnFnt}&amp;gt;Add&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;



        &amp;lt;/&amp;gt;)
};

export default App;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Well done! Finally Validate Our For And Make A Awesome GUI ! Drop some love by liking or commenting ♥&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Reference &lt;a href="https://www.w3schools.com/react/default.asp" rel="noopener noreferrer"&gt;w3schools&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Store Multiple CheckBox value in very Simple Step In React ?</title>
      <dc:creator>Radheshyam Gupta</dc:creator>
      <pubDate>Sun, 15 Jan 2023 06:46:58 +0000</pubDate>
      <link>https://forem.com/radhe65gupta/how-to-add-form-validation-in-react-how-to-save-checkboxradio-buttoninput-field-textdate-typedrop-down-value-in-react-5dbp</link>
      <guid>https://forem.com/radhe65gupta/how-to-add-form-validation-in-react-how-to-save-checkboxradio-buttoninput-field-textdate-typedrop-down-value-in-react-5dbp</guid>
      <description>&lt;p&gt;&lt;a href="https://biharisoft.com/EduBoxLive/MultpleCheckBoxValue" rel="noopener noreferrer"&gt;Go For Live Demo&lt;/a&gt;&lt;br&gt;
If you've worked on any react applications React Hook played a big role to Control Html elements and its properties.&lt;/p&gt;

&lt;p&gt;Hook Which played a big role for developing React Application are useState(),useEffect(),useRef() and More .&lt;/p&gt;

&lt;p&gt;In This post i will work on useState() Hook to Save input Data.&lt;/p&gt;

&lt;p&gt;Now we Come on Our Topic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to Store Multiple CheckBox value in very Simple Step?&lt;br&gt;
First We Create OnInputChange() function,which Store Our Data in State.&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;const onInputChange = (e) =&amp;gt; {

        const { name, value } = e.target;

        if (e.target.type === 'checkbox') {

//it will Store only checked checkBox Value

            if (e.target.checked) {

                setDetails((previous) =&amp;gt; ({ ...previous, [name]: [...eval(name), value] }));
            }

 //it will remove Unchecked checkBox Value
            else {
                const filterData = eval(name).filter((lang) =&amp;gt; { return lang !== value });

                setDetails((previous) =&amp;gt; ({ ...previous, [name]: filterData }));
            }
        }

//it will Store only Normal HTML Tag Value
        else {

            setDetails((previous) =&amp;gt; ({ ...previous, [name]: value }))

        }

    }

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;We Can Divide onInputChange () function In Three Part &lt;br&gt;
1) it will Store only Normal HTML Tag Value like radio ,select,input(text,number,date,email).&lt;br&gt;
2) it will Store only checked checkBox Value.&lt;br&gt;
3) it will remove Unchecked checkBox Value.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now we have final Code for Out React Component With Its Function. StoreMultpleCheckBoxValue.js&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;import React, { useRef, useState } from 'react';
import './EduBoxLiveGallery.css';

const StateName = ['Assam', 'Bihar', 'Chhattisgarh', 'Jharkhand', 'Karnataka', 'Maharashtra', 'Uttar Pradesh'];

const DetailsModel = {
    Name: '',
    MobileNo: '',
    EmailAddress: '',
    Gender: '',
    DateOfBirth: '',
    Language: [],
    State: '',
    Country: ''
}



const StoreMultpleCheckBoxValue = () =&amp;gt; {

    const [details, setDetails] = useState(DetailsModel);

    const formValidateRef = useRef([]);

    /* Deestructuring Object*/

    const { Name, MobileNo, EmailAddress, Gender, DateOfBirth, Language, State, Country } = details;


    const onInputChange = (e) =&amp;gt; {

        const { name, value } = e.target;

        if (e.target.type === 'checkbox') {

            if (e.target.checked) {

                setDetails((previous) =&amp;gt; ({ ...previous, [name]: [...eval(name), value] }));
            }
            else {
                const filterData = eval(name).filter((lang) =&amp;gt; { return lang !== value });

                setDetails((previous) =&amp;gt; ({ ...previous, [name]: filterData }));
            }
        }

        else {

            setDetails((previous) =&amp;gt; ({ ...previous, [name]: value }))

        }

    }



    return (

        &amp;lt;&amp;gt;
            &amp;lt;div className='FormValBody'&amp;gt;

                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Name&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;input type='text' name='Name' value={Name} onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                &amp;lt;/div&amp;gt;



                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Mobile No&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;input type='text' name='MobileNo' value={MobileNo} onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;&amp;lt;/div&amp;gt;


                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Email Address&amp;lt;span className='FormErrorLabelSp'&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;input type='text' name='EmailAddress' value={EmailAddress} onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;&amp;lt;/div&amp;gt;



                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Gender&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;label&amp;gt; Male &amp;lt;/label&amp;gt;
                    &amp;lt;input type='radio' name='Gender' value='Male' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                    &amp;lt;label&amp;gt; Female &amp;lt;/label&amp;gt;
                    &amp;lt;input name='Gender' type='radio' value='Female' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;&amp;lt;/div&amp;gt;



                &amp;lt;div className='FormValInputLabelSp'&amp;gt;
                    &amp;lt;div className='labelSeprater'&amp;gt;
                        &amp;lt;label &amp;gt;Date of Birth&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;
                    &amp;lt;/div&amp;gt;
                    &amp;lt;input type='date' name='DateOfBirth' value={DateOfBirth} onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                &amp;lt;/div&amp;gt;



                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Language&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;label&amp;gt;Hindi&amp;lt;/label&amp;gt;
                    &amp;lt;input type='checkBox' name='Language' value='Hindi' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                    &amp;lt;label&amp;gt;Marathi&amp;lt;/label&amp;gt;
                    &amp;lt;input name='Language' type='checkBox' value='Marathi' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                    &amp;lt;label&amp;gt;English&amp;lt;/label&amp;gt;
                    &amp;lt;input name='Language' type='checkBox' value='English' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;Country&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;label&amp;gt;India&amp;lt;/label&amp;gt;
                    &amp;lt;input type='checkBox' name='Country' value='India' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                    &amp;lt;label&amp;gt;Nepal&amp;lt;/label&amp;gt;
                    &amp;lt;input name='Country' type='checkBox' value='Nepal' onChange={(e) =&amp;gt; { onInputChange(e) }} /&amp;gt;
                &amp;lt;/div&amp;gt;



                &amp;lt;div className='FormValInputLabelSp'&amp;gt;&amp;lt;div className='labelSeprater'&amp;gt;&amp;lt;label &amp;gt;State&amp;lt;span className='FormErrorLabelSp'&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                    &amp;lt;select ref={(element) =&amp;gt; formValidateRef.current[10] = element} name='State' value={State} onChange={(e) =&amp;gt; { onInputChange(e) }}&amp;gt;
                        &amp;lt;option value=''&amp;gt;---Select---&amp;lt;/option&amp;gt;
                        {StateName.map((sName, index) =&amp;gt; (
                            &amp;lt;option key={index + sName} value={sName}&amp;gt;{sName}&amp;lt;/option&amp;gt;
                        ))}
                    &amp;lt;/select&amp;gt;&amp;lt;/div&amp;gt;

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

            &amp;lt;table&amp;gt;
                &amp;lt;thead&amp;gt;
                    &amp;lt;tr&amp;gt;
                        &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;
                        &amp;lt;th&amp;gt;Mobile No&amp;lt;/th&amp;gt;
                        &amp;lt;th&amp;gt;Email Address&amp;lt;/th&amp;gt;
                        &amp;lt;th&amp;gt;Gender&amp;lt;/th&amp;gt;
                        &amp;lt;th&amp;gt;Date of Birth&amp;lt;/th&amp;gt;
                        &amp;lt;th&amp;gt;Language&amp;lt;/th&amp;gt;
                        &amp;lt;th&amp;gt;Country&amp;lt;/th&amp;gt;
                        &amp;lt;th&amp;gt;State&amp;lt;/th&amp;gt;
                    &amp;lt;/tr&amp;gt;
                &amp;lt;/thead&amp;gt;
                &amp;lt;tbody&amp;gt;

                    &amp;lt;tr &amp;gt;
                        &amp;lt;td&amp;gt;{Name}&amp;lt;/td&amp;gt;
                        &amp;lt;td&amp;gt;{MobileNo}&amp;lt;/td&amp;gt;
                        &amp;lt;td&amp;gt;{EmailAddress}&amp;lt;/td&amp;gt;
                        &amp;lt;td&amp;gt;{Gender}&amp;lt;/td&amp;gt;
                        &amp;lt;td&amp;gt;{DateOfBirth}&amp;lt;/td&amp;gt;
                        &amp;lt;td&amp;gt;{Language.toString()}&amp;lt;/td&amp;gt;
                        &amp;lt;td&amp;gt;{Country.toString()}&amp;lt;/td&amp;gt;
                        &amp;lt;td&amp;gt;{State}&amp;lt;/td&amp;gt;

                    &amp;lt;/tr&amp;gt;


                &amp;lt;/tbody&amp;gt;
            &amp;lt;/table&amp;gt;

        &amp;lt;/&amp;gt;)
};


export default StoreMultpleCheckBoxValue;


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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;I will Also Share of it's .css File&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;.FormValBody {
    float: left;
    padding: 10px 10px 10px 10px;
    background-color: azure;
}

    .FormValBody input {       
        padding: 5px 5px 5px 5px;
        border-color: gainsboro;
        outline-color: darkgrey;
        font-family: 'Times New Roman';
        font-size: 18px;
    }
.FormValBody input:active{
    outline-color:blue;
}
.FormValInputLabelSp {
    width: 393px;
    margin-top: 7px;
}
.labelSeprater {
    width: 133px;
    display: inline-block;
}

.FormErrorLabelSp {
    font-family: 'Comic Sans MS';
    font-size: 12px;
    color: red;
}

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

&lt;/div&gt;



&lt;p&gt;Well done! Finally Store Multiple ChechBox Data in State  !&lt;/p&gt;

&lt;p&gt;Drop some love by liking or commenting ♥&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Reference &lt;a href="https://www.w3schools.com/react/default.asp" rel="noopener noreferrer"&gt;w3schools&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>gratitude</category>
    </item>
    <item>
      <title>How to Create A Simple Dual ListBox Component In React?</title>
      <dc:creator>Radheshyam Gupta</dc:creator>
      <pubDate>Sun, 18 Dec 2022 10:14:56 +0000</pubDate>
      <link>https://forem.com/radhe65gupta/how-to-create-a-simple-dual-listbox-component-in-react-409f</link>
      <guid>https://forem.com/radhe65gupta/how-to-create-a-simple-dual-listbox-component-in-react-409f</guid>
      <description>&lt;p&gt;&lt;a href="https://biharisoft.com/EduBoxLive/DualListBox" rel="noopener noreferrer"&gt;Go For Live Demo&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;A ListBox Is Simple form component with multi-selection of list items made easy.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First we create two Data Object Array which we used to Show in ListBox Drop-down List.&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;export const selectOptionOne = [
    {
        Name: 'Krishna',
        value: 'God'
    },
    {
        Name: 'Tiger',
        value: 'Animal'
    },
    {
        Name: 'Ram',
        value: 'Load'
    },
    {
        Name: 'Mountan',
        value: 'Solid'
    },
    {
        Name: 'Tree',
        value: 'Life'
    }

];
export const selectOptionTwo = [
    {
        Name: 'Hanuman',
        value: 'GodLover'
    },
    {
        Name: 'Sita',
        value: 'Goddes'
    },
    {
        Name: 'Laptop',
        value: 'Material'
    },
    {
        Name: 'Shiva',
        value: 'Creater'
    },
    {
        Name: 'Buddha',
        value: 'KnowledgeOfPeace'
    }

];

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Now We Design A ListBox and Add its related Function in App.js File .&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;import { useState } from 'react';
import './App.css';
import { selectOptionOne, selectOptionTwo } from './JsonData';

const App=()=&amp;gt; {


    const [firstSelectList, setFirstSelectList] = useState(selectOptionOne);
    const [secondSelectList, setSecondSelectList] = useState(selectOptionTwo);

    const [temSelectedList, setTemSelectedList] = useState([]);

    const [currentSelectedListNm, setCurrentSelectedListNm] = useState('');

    const handleChange = (e,lstName) =&amp;gt; {

        const temp = Array.from(e.target.selectedOptions);
        setTemSelectedList(temp);
        setCurrentSelectedListNm(() =&amp;gt; (lstName))
    };


    const moveAllValRight = () =&amp;gt; {
        setFirstSelectList([]);
        setSecondSelectList([...firstSelectList, ...secondSelectList]);
 setCurrentSelectedListNm(() =&amp;gt; (''));
    };
    const moveAllValLeft = () =&amp;gt; {

        setSecondSelectList([]);
        setFirstSelectList([...firstSelectList, ...secondSelectList]);
 setCurrentSelectedListNm(() =&amp;gt; (''));

    };


    const moveSelectedValueRight = () =&amp;gt; {
        const dataListRight = [];   

        if (temSelectedList !== null &amp;amp;&amp;amp; currentSelectedListNm === 'LeftList') {
            let filterList = firstSelectList;
            temSelectedList.map((item) =&amp;gt;

                (filterList = filterList.filter((x) =&amp;gt; x.value !== item.value))
            );                       

            setFirstSelectList(filterList);


            temSelectedList.map((item) =&amp;gt; {

                dataListRight.push(
                firstSelectList.find((data) =&amp;gt; (
                   data.value === item.value
                  ))
                );

            });



            setSecondSelectList([...secondSelectList, ...dataListRight]);

            setTemSelectedList(null);
        }
    };
    const moveSelectedValueLeft = () =&amp;gt; {

        const dataListLeft = []; 

        if (temSelectedList !== null &amp;amp;&amp;amp; currentSelectedListNm ==='RightList') {
            let filterList = secondSelectList;
            temSelectedList.map(
                (item) =&amp;gt; (filterList = filterList.filter((x) =&amp;gt; x.value !== item.value))
            );
            setSecondSelectList(filterList);

            temSelectedList.map((item) =&amp;gt; {

                dataListLeft.push(
                    secondSelectList.find((data) =&amp;gt; (
                        data.value === item.value
                    ))
                );

            });

            setFirstSelectList([...firstSelectList, ...dataListLeft]);
            setTemSelectedList(null);
        }
    };




    return (
        &amp;lt;&amp;gt;
            &amp;lt;div className='select-parent'&amp;gt;
                &amp;lt;div className='SelctDiv'&amp;gt;
                    &amp;lt;select className='select-tag' name="cars" multiple aria-label="label for the select Left" onChange={(e) =&amp;gt; {
                        handleChange(e,'LeftList');
                    }}&amp;gt;
                        {firstSelectList.map((data, index) =&amp;gt; (

                            &amp;lt; option key={index + data.value} value={data.value} &amp;gt;{data.Name}&amp;lt;/option&amp;gt;
                        ))
                        }&amp;lt;/select&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div className='select-btn-div'&amp;gt;
                    &amp;lt;button onClick={() =&amp;gt; { moveAllValRight() }}&amp;gt;{`&amp;gt;&amp;gt;`}&amp;lt;/button&amp;gt;
                    &amp;lt;button onClick={() =&amp;gt; { moveSelectedValueRight() }}&amp;gt;{`&amp;gt;`}&amp;lt;/button&amp;gt;
                    &amp;lt;button onClick={() =&amp;gt; { moveSelectedValueLeft() }}&amp;gt;{`&amp;lt;`}&amp;lt;/button&amp;gt;
                    &amp;lt;button onClick={() =&amp;gt; { moveAllValLeft() }}&amp;gt;{`&amp;lt;&amp;lt;`}&amp;lt;/button&amp;gt;

                &amp;lt;/div&amp;gt;
                &amp;lt;div className='SelctDiv'&amp;gt;
                    &amp;lt;select className='select-tag' name="cars" multiple aria-label="label for the select Right" onChange={(e) =&amp;gt; {
                        handleChange(e, 'RightList');
                    }}&amp;gt;
                        {secondSelectList.map((data, index) =&amp;gt; (

                            &amp;lt; option key={index + data.value} value={data.value} &amp;gt;{data.Name}&amp;lt;/option&amp;gt;
                        ))
                        }
                    &amp;lt;/select&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/&amp;gt;
    );
}

export default App;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Now Add Style File in App.css&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;.select-parent{
width:500px;
height:250px;
display:flex;
margin-left: 32%;
margin-top: 69px;
}
.SelctDiv{
    width:40%;
    height:100%;
}

.select-tag {
    width: 100%;
    height: 100%;
}
.select-tag option{
margin:5px;
}
.select-btn-div {
    width: 20%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px;
}
.select-btn-div  button{
    margin-bottom:10px;
}

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

&lt;/div&gt;



&lt;p&gt;Well done! Finally Create ListBox Component For our React Website !&lt;/p&gt;

&lt;p&gt;Drop some love by liking or commenting ♥&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Reference &lt;a href="https://www.w3schools.com/react/default.asp" rel="noopener noreferrer"&gt;w3schools&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/BIHARISOFT/EduBox/tree/master/react_list_box" rel="noopener noreferrer"&gt;Download Source Code from GitHub Repository&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How To Add Google Adsense in Our React Website?</title>
      <dc:creator>Radheshyam Gupta</dc:creator>
      <pubDate>Sun, 13 Nov 2022 09:41:09 +0000</pubDate>
      <link>https://forem.com/radhe65gupta/how-to-add-google-adsense-in-our-react-website-55j5</link>
      <guid>https://forem.com/radhe65gupta/how-to-add-google-adsense-in-our-react-website-55j5</guid>
      <description>&lt;p&gt;&lt;strong&gt;First We Add given Below AdSense code in our "index.html" File in between the   tags like This.&lt;br&gt;
You Get This Code From Your Google AdSense account.&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;&amp;lt;head&amp;gt;
&amp;lt;script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-XXXXXXXXXXXXXXX"
     crossorigin="anonymous"&amp;gt;&amp;lt;/script&amp;gt;
 &amp;lt;/head&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;Now, Second We Create AdSense Component,Which We use in the place where we want to show Ads. AdsComponent.js *&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

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

const AdsComponent = (props) =&amp;gt; {
    const { dataAdSlot } = props;  



    useEffect(() =&amp;gt; {

        try {
            (window.adsbygoogle = window.adsbygoogle || []).push({});
        }

        catch (e) {

        }

    },[]);



    return (
        &amp;lt;&amp;gt;
            &amp;lt;ins className="adsbygoogle"
                style={{ display: "block" }}
                data-ad-client="ca-pub-XXXXXXXXXXXXXXX"
                data-ad-slot={dataAdSlot}
                data-ad-format="auto"
                data-full-width-responsive="true"&amp;gt;
            &amp;lt;/ins&amp;gt;
        &amp;lt;/&amp;gt;
    );
};

export default AdsComponent;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;And Now Finally time to show our ads in our React Pages Like this.&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;import './App.css';
import AdsComponent from './AdsComponent';

function App() {

//Note provide dataAdSlot value of your data-ad-slot which is your ad unit no.
    return (
        &amp;lt;&amp;gt;
            &amp;lt;h1&amp;gt;Place To show Google AdSense&amp;lt;/h1&amp;gt;
           &amp;lt;AdsComponent dataAdSlot='X7XXXXXX5X' /&amp;gt;
        &amp;lt;/&amp;gt;

    );
}

export default App;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Well done! Finally Create AdSense Component For our React Website !&lt;/p&gt;

&lt;p&gt;Drop some love by liking or commenting ♥&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Reference &lt;a href="https://www.w3schools.com/react/default.asp" rel="noopener noreferrer"&gt;w3schools&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/BIHARISOFT/EduBox/tree/master/google_adsense_react_component" rel="noopener noreferrer"&gt;Download Source Code from GitHub Repository&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How to Add Form Validation in React ?How to Save CheckBox,Radio Button,Input Field( Text&amp;Date Type),drop-down Value in React?</title>
      <dc:creator>Radheshyam Gupta</dc:creator>
      <pubDate>Wed, 26 Oct 2022 09:55:49 +0000</pubDate>
      <link>https://forem.com/radhe65gupta/how-to-add-form-oam</link>
      <guid>https://forem.com/radhe65gupta/how-to-add-form-oam</guid>
      <description>&lt;p&gt;&lt;a href="https://biharisoft.com/EduBoxLive/FormValidationInReact" rel="noopener noreferrer"&gt;Go For Live Demo&lt;/a&gt;&lt;br&gt;
If you've worked on any react applications React Hook played a big role to Control Html elements and its properties.&lt;/p&gt;

&lt;p&gt;Hook Which played a big role for developing React Application are useState(),useEffect(),useRef() and More .&lt;/p&gt;

&lt;p&gt;In This post i will work on useState() Hook to Save input Data.&lt;/p&gt;

&lt;p&gt;Now we Come on Our Topic.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;How to Create a Form in React?&lt;br&gt;
it is Design Part only.&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div className='FormValBody'&amp;gt;

                &amp;lt;div className='FormValInputLabel'&amp;gt;&amp;lt;label&amp;gt;Name&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;input type='text' name='Name' value={Name} onChange={(e) =&amp;gt; { onInputChange(e,'inputTxt') } } /&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;div className='FormErrorLabel'&amp;gt;&amp;lt;label&amp;gt;{NameErrorMsg }&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;


                &amp;lt;div className='FormValInputLabel'&amp;gt;&amp;lt;label&amp;gt;Mobile No&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;input type='text' name='MobileNo' value={MobileNo} onChange={(e) =&amp;gt; { onInputChange(e, 'inputTxt') }} /&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;div className='FormErrorLabel'&amp;gt;&amp;lt;label&amp;gt;{MobNoErrorMsg}&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;


                &amp;lt;div className='FormValInputLabel'&amp;gt;&amp;lt;label&amp;gt;Email Address&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;input type='text' name='EmailAddress' value={EmailAddress} onChange={(e) =&amp;gt; { onInputChange(e, 'inputTxt') }} /&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;div className='FormErrorLabel'&amp;gt;&amp;lt;label&amp;gt;{EmailErrorMsg}&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;


                &amp;lt;div className='FormValInputLabel'&amp;gt;&amp;lt;label&amp;gt;Gender&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;label&amp;gt; Male &amp;lt;/label&amp;gt;&amp;lt;input type='radio' name='Gender' value='Male' onChange={(e) =&amp;gt; { onInputChange(e, 'inputTxt') }} /&amp;gt;
                &amp;lt;label&amp;gt; Female &amp;lt;/label&amp;gt; &amp;lt;input name='Gender' type='radio' value='Female' onChange={(e) =&amp;gt; { onInputChange(e, 'inputTxt') }} /&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;div className='FormErrorLabel'&amp;gt;&amp;lt;label&amp;gt;{GenderErrorMsg}&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;


                &amp;lt;div className='FormValInputLabel'&amp;gt;&amp;lt;label&amp;gt;Date of Birth&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;input type='date' name='DateOfBirth' value={DateOfBirth} onChange={(e) =&amp;gt; { onInputChange(e, 'inputTxt') }} /&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;div className='FormErrorLabel'&amp;gt;&amp;lt;label&amp;gt;{DBOErrorMsg}&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;


                &amp;lt;div className='FormValInputLabel'&amp;gt;&amp;lt;label&amp;gt;Language&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt; 
                &amp;lt;label&amp;gt;Hindi&amp;lt;/label&amp;gt;&amp;lt;input type='checkBox' name='Language' value='Hindi' onChange={(e) =&amp;gt; { onInputChange(e, 'inputChkBx') }} /&amp;gt;
                &amp;lt;label&amp;gt;Marathi&amp;lt;/label&amp;gt; &amp;lt;input name='Language' type='checkBox' value='Marathi' onChange={(e) =&amp;gt; { onInputChange(e, 'inputChkBx') }} /&amp;gt;
                &amp;lt;label&amp;gt;English&amp;lt;/label&amp;gt; &amp;lt;input name='Language' type='checkBox' value='English' onChange={(e) =&amp;gt; { onInputChange(e, 'inputChkBx') }} /&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;div className='FormErrorLabel'&amp;gt;&amp;lt;label&amp;gt;{LNGErrorMsg}&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;


                &amp;lt;div className='FormValInputLabel'&amp;gt;&amp;lt;label&amp;gt;State&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;select name='State' value={State} onChange={(e) =&amp;gt; { onInputChange(e, 'inputTxt') }}&amp;gt;
                    &amp;lt;option value=''&amp;gt;---Select---&amp;lt;/option&amp;gt;
                    {StateName.map((sName, index) =&amp;gt; (
                        &amp;lt;option key={index + sName} value={sName}&amp;gt;{sName}&amp;lt;/option&amp;gt;
                        ))}
                &amp;lt;/select&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;div className='FormErrorLabel'&amp;gt;&amp;lt;label&amp;gt;{StateErrorMsg}&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;button className='btnAdd' onClick={AddBtnFnt }&amp;gt;Add&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Now We create react Component for show out input data after our Form Validation has Completed.&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;import React from 'react';

const ShowMyTable = (props) =&amp;gt; {

    const { data } = props;
    return (&amp;lt;&amp;gt;
        &amp;lt;div className='ShowTable'&amp;gt;
            &amp;lt;table&amp;gt;
                &amp;lt;thead&amp;gt;
                    &amp;lt;tr&amp;gt;
                        &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;
                        &amp;lt;th&amp;gt;Mobile No&amp;lt;/th&amp;gt;
                        &amp;lt;th&amp;gt;Email Address&amp;lt;/th&amp;gt;
                        &amp;lt;th&amp;gt;Gender&amp;lt;/th&amp;gt;
                        &amp;lt;th&amp;gt;Date Of Birth&amp;lt;/th&amp;gt;
                        &amp;lt;th&amp;gt;Language&amp;lt;/th&amp;gt;
                        &amp;lt;th&amp;gt;State&amp;lt;/th&amp;gt;
                    &amp;lt;/tr&amp;gt;
                &amp;lt;/thead&amp;gt;
                &amp;lt;tbody&amp;gt;
                    &amp;lt;tr&amp;gt;
                        &amp;lt;td&amp;gt;{data.Name}&amp;lt;/td&amp;gt;
                        &amp;lt;td&amp;gt;{data.MobileNo}&amp;lt;/td&amp;gt;
                        &amp;lt;td&amp;gt;{data.EmailAddress}&amp;lt;/td&amp;gt;
                        &amp;lt;td&amp;gt;{data.Gender}&amp;lt;/td&amp;gt;
                        &amp;lt;td&amp;gt;{data.DateOfBirth}&amp;lt;/td&amp;gt;
                        &amp;lt;td&amp;gt;{data.Language.toString()}&amp;lt;/td&amp;gt;
                        &amp;lt;td&amp;gt;{data.State}&amp;lt;/td&amp;gt;
                    &amp;lt;/tr&amp;gt;

                &amp;lt;/tbody&amp;gt;
            &amp;lt;/table&amp;gt;
        &amp;lt;/div&amp;gt;

    &amp;lt;/&amp;gt;);
};
export default ShowMyTable ;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;Finally We Create React Form and react Component For Show our Validated Data. Now We Create App.css file for Styling Our Form. &lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/*form Validation */

.FormValBody {
    float: left;
    padding: 10px 10px 10px 10px;
    background-color: azure;
}

    .FormValBody input {       
        padding: 5px 5px 5px 5px;
        border-color: gainsboro;
        outline-color: darkgrey;
        font-family: 'Times New Roman';
        font-size: 18px;
    }
.FormValBody input:active{
    outline-color:blue;
}

.FormValInputLabel{
    width:100px;
    float:left;
}
.FormErrorLabel{
    height:17px;
    padding-left:120px;
    font-family:'Comic Sans MS';
    font-size:12px;
    color:red;
}

.btnAdd {
    margin-top:25px;
    margin-bottom:15px;
    margin-left: 38%;
    border: none;
    padding: 10px 20px 10px 20px;
    background-color: ButtonFace;
}
.btnAdd:hover{
    cursor:pointer;
}
.ShowTable {
    float: left;
    padding: 10px 10px 10px 10px;
    background-color: azure;
}
    .ShowTable table, th, td {
        border: 1px solid black;
        border-collapse: collapse;
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;For Form Validation And Getting input Fields Value ,First We create Model related to our form.&lt;br&gt;
Model For Form&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;const DetailsModel = {
    Name: '',
    MobileNo: '',
    EmailAddress: '',
    Gender: '',
    DateOfBirth: '',
    Language: [],
    State: ''
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Model For Validation Message&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;const ErrorModel = {
    NameErrorMsg: '',
    MobNoErrorMsg: '',
    EmailErrorMsg: '',
    GenderErrorMsg: '',
    DBOErrorMsg: '',
    LNGErrorMsg: '',
    StateErrorMsg: '',

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

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;Now we create Pattern For Mobile And Email Address Validate And Create Array of List For Our Drop-Down List. *&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
const StateName = ['Assam', 'Bihar', 'Chhattisgarh', 'Jharkhand', 'Karnataka', 'Maharashtra', 'Uttar Pradesh'];


const emailPattern = /[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$/;

const  MobNo = /^\d{10}$/;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Next We Take Three State For Storing Input Data,Error Message and Showing Data Component&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;const [details, setDetails] = useState(DetailsModel);

    const [errorMsg, setErrorMsg] = useState(ErrorModel);

    const [showTable, setShowTable] = useState(&amp;lt;ShowMyTable data={details} /&amp;gt;)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;For Easily Access Value Of Our Object Model Key Value, we destructure our Model Object&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/* Deestructuring Object*/

    const { Name, MobileNo, EmailAddress, Gender, DateOfBirth, Language, State } = details;

    const { NameErrorMsg, MobNoErrorMsg, EmailErrorMsg, GenderErrorMsg, DBOErrorMsg, LNGErrorMsg, StateErrorMsg } = errorMsg;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Now We Create a Arrow Function For Update Out Input Field Value State.&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;const onInputChange = (e, inputType) =&amp;gt; {
        const { name, value } = e.target;
        if (inputType === 'inputTxt') {

            setDetails((previous) =&amp;gt; ({ ...previous, [name]: value }))

        }
        else if (inputType === 'inputChkBx') {

            if (e.target.checked) {

                setDetails((previous) =&amp;gt; ({ ...previous, [name]: [...Language, value] }));
            }
            else {
                const filterData = Language.filter((lang) =&amp;gt; { return lang !== value });

                setDetails((previous) =&amp;gt; ({ ...previous, [name]: filterData }));
            }
        }

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

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;After Storing This all Form Input fields data in state ,Now Time To validate Form. So We Create New Arrow Function for Validation.   *&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const ValidateData = () =&amp;gt; {
        const validateObj = {};

        if (Name.length === 0) {

            validateObj.NameErrorMsg = 'Please Enter Name';
        }

        if (MobileNo.length === 0) {

            validateObj.MobNoErrorMsg = 'Please Enter Mobile No';
        }
        else if (!MobileNo.match(MobNo)) {

            validateObj.MobNoErrorMsg = 'Please Enter Valid Mobile No';
        }

        if (EmailAddress.length === 0) {

            validateObj.EmailErrorMsg = 'Please Enter Email Address';
        }
        else if (!EmailAddress.match(emailPattern)) {

            validateObj.EmailErrorMsg = 'Please Enter Valid Email Address';
        }

        if (Gender.length === 0) {

            validateObj.GenderErrorMsg = 'Please Select Gender';
        }
        if (DateOfBirth.length === 0) {

            validateObj.DBOErrorMsg = 'Please Enter Date of Birth';
        }

        if (DateOfBirth.length === 0) {

            validateObj.DBOErrorMsg = 'Please Enter Date of Birth';
        }

        if (Language.length === 0) {

            validateObj.LNGErrorMsg = 'Please Select Language';
        }
        if (State.length === 0) {

            validateObj.StateErrorMsg = 'Please Select State';
        }


        if (Object.keys(validateObj).length === 0) {
            setErrorMsg(() =&amp;gt; (ErrorModel));
            return true;
        }
        else {

            setErrorMsg(() =&amp;gt; ({ ...ErrorModel, ...validateObj }));
            return false;

        }


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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;So Finally We Call This Validation Function On Add Button and And after Validation Of Data ,we Show Data in Component Which we Create .&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;const AddBtnFnt = () =&amp;gt; {

        const validateRt = ValidateData();

        if (validateRt) {
            setShowTable(&amp;lt;ShowMyTable data={details} /&amp;gt;);
        }


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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Now Finally We Validate Our Form. Final All Code are Below&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;import React, { useState } from 'react';
import './App.css';
import ShowMyTable from'./ShowMyTable';

const StateName = ['Assam', 'Bihar', 'Chhattisgarh', 'Jharkhand', 'Karnataka', 'Maharashtra', 'Uttar Pradesh'];

const DetailsModel = {
    Name: '',
    MobileNo: '',
    EmailAddress: '',
    Gender: '',
    DateOfBirth: '',
    Language: [],
    State: ''
}

const ErrorModel = {
    NameErrorMsg: '',
    MobNoErrorMsg: '',
    EmailErrorMsg: '',
    GenderErrorMsg: '',
    DBOErrorMsg: '',
    LNGErrorMsg: '',
    StateErrorMsg: '',

}

const emailPattern = /[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$/;
const  MobNo = /^\d{10}$/;



const FormValidationInReact = () =&amp;gt; {

    const [details, setDetails] = useState(DetailsModel);

    const [errorMsg, setErrorMsg] = useState(ErrorModel);

    const [showTable, setShowTable] = useState(&amp;lt;ShowMyTable data={details} /&amp;gt;)

    /* Deestructuring Object*/

    const { Name, MobileNo, EmailAddress, Gender, DateOfBirth, Language, State } = details;

    const { NameErrorMsg, MobNoErrorMsg, EmailErrorMsg, GenderErrorMsg, DBOErrorMsg, LNGErrorMsg, StateErrorMsg } = errorMsg;

    const onInputChange = (e, inputType) =&amp;gt; {
        const { name, value } = e.target;
        if (inputType === 'inputTxt') {

            setDetails((previous) =&amp;gt; ({ ...previous, [name]: value }))

        }
        else if (inputType === 'inputChkBx') {

            if (e.target.checked) {

                setDetails((previous) =&amp;gt; ({ ...previous, [name]: [...Language, value] }));
            }
            else {
                const filterData = Language.filter((lang) =&amp;gt; { return lang !== value });

                setDetails((previous) =&amp;gt; ({ ...previous, [name]: filterData }));
            }
        }

    }


    const ValidateData = () =&amp;gt; {
        const validateObj = {};

        if (Name.length === 0) {

            validateObj.NameErrorMsg = 'Please Enter Name';
        }

        if (MobileNo.length === 0) {

            validateObj.MobNoErrorMsg = 'Please Enter Mobile No';
        }
        else if (!MobileNo.match(MobNo)) {

            validateObj.MobNoErrorMsg = 'Please Enter Valid Mobile No';
        }

        if (EmailAddress.length === 0) {

            validateObj.EmailErrorMsg = 'Please Enter Email Address';
        }
        else if (!EmailAddress.match(emailPattern)) {

            validateObj.EmailErrorMsg = 'Please Enter Valid Email Address';
        }

        if (Gender.length === 0) {

            validateObj.GenderErrorMsg = 'Please Select Gender';
        }
        if (DateOfBirth.length === 0) {

            validateObj.DBOErrorMsg = 'Please Enter Date of Birth';
        }

        if (DateOfBirth.length === 0) {

            validateObj.DBOErrorMsg = 'Please Enter Date of Birth';
        }

        if (Language.length === 0) {

            validateObj.LNGErrorMsg = 'Please Select Language';
        }
        if (State.length === 0) {

            validateObj.StateErrorMsg = 'Please Select State';
        }


        if (Object.keys(validateObj).length === 0) {
            setErrorMsg(() =&amp;gt; (ErrorModel));
            return true;
        }
        else {

            setErrorMsg(() =&amp;gt; ({ ...ErrorModel, ...validateObj }));
            return false;

        }


    }


    const AddBtnFnt = () =&amp;gt; {

        const validateRt = ValidateData();

        if (validateRt) {
            setShowTable(&amp;lt;ShowMyTable data={details} /&amp;gt;);
        }


    }


    return (

        &amp;lt;&amp;gt;
            &amp;lt;div className='FormValBody'&amp;gt;

                &amp;lt;div className='FormValInputLabel'&amp;gt;&amp;lt;label&amp;gt;Name&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;input type='text' name='Name' value={Name} onChange={(e) =&amp;gt; { onInputChange(e,'inputTxt') } } /&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;div className='FormErrorLabel'&amp;gt;&amp;lt;label&amp;gt;{NameErrorMsg }&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;


                &amp;lt;div className='FormValInputLabel'&amp;gt;&amp;lt;label&amp;gt;Mobile No&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;input type='text' name='MobileNo' value={MobileNo} onChange={(e) =&amp;gt; { onInputChange(e, 'inputTxt') }} /&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;div className='FormErrorLabel'&amp;gt;&amp;lt;label&amp;gt;{MobNoErrorMsg}&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;


                &amp;lt;div className='FormValInputLabel'&amp;gt;&amp;lt;label&amp;gt;Email Address&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;input type='text' name='EmailAddress' value={EmailAddress} onChange={(e) =&amp;gt; { onInputChange(e, 'inputTxt') }} /&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;div className='FormErrorLabel'&amp;gt;&amp;lt;label&amp;gt;{EmailErrorMsg}&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;


                &amp;lt;div className='FormValInputLabel'&amp;gt;&amp;lt;label&amp;gt;Gender&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;label&amp;gt; Male &amp;lt;/label&amp;gt;&amp;lt;input type='radio' name='Gender' value='Male' onChange={(e) =&amp;gt; { onInputChange(e, 'inputTxt') }} /&amp;gt;
                &amp;lt;label&amp;gt; Female &amp;lt;/label&amp;gt; &amp;lt;input name='Gender' type='radio' value='Female' onChange={(e) =&amp;gt; { onInputChange(e, 'inputTxt') }} /&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;div className='FormErrorLabel'&amp;gt;&amp;lt;label&amp;gt;{GenderErrorMsg}&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;


                &amp;lt;div className='FormValInputLabel'&amp;gt;&amp;lt;label&amp;gt;Date of Birth&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;input type='date' name='DateOfBirth' value={DateOfBirth} onChange={(e) =&amp;gt; { onInputChange(e, 'inputTxt') }} /&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;div className='FormErrorLabel'&amp;gt;&amp;lt;label&amp;gt;{DBOErrorMsg}&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;


                &amp;lt;div className='FormValInputLabel'&amp;gt;&amp;lt;label&amp;gt;Language&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt; 
                &amp;lt;label&amp;gt;Hindi&amp;lt;/label&amp;gt;&amp;lt;input type='checkBox' name='Language' value='Hindi' onChange={(e) =&amp;gt; { onInputChange(e, 'inputChkBx') }} /&amp;gt;
                &amp;lt;label&amp;gt;Marathi&amp;lt;/label&amp;gt; &amp;lt;input name='Language' type='checkBox' value='Marathi' onChange={(e) =&amp;gt; { onInputChange(e, 'inputChkBx') }} /&amp;gt;
                &amp;lt;label&amp;gt;English&amp;lt;/label&amp;gt; &amp;lt;input name='Language' type='checkBox' value='English' onChange={(e) =&amp;gt; { onInputChange(e, 'inputChkBx') }} /&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;div className='FormErrorLabel'&amp;gt;&amp;lt;label&amp;gt;{LNGErrorMsg}&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;


                &amp;lt;div className='FormValInputLabel'&amp;gt;&amp;lt;label&amp;gt;State&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;select name='State' value={State} onChange={(e) =&amp;gt; { onInputChange(e, 'inputTxt') }}&amp;gt;
                    &amp;lt;option value=''&amp;gt;---Select---&amp;lt;/option&amp;gt;
                    {StateName.map((sName, index) =&amp;gt; (
                        &amp;lt;option key={index + sName} value={sName}&amp;gt;{sName}&amp;lt;/option&amp;gt;
                        ))}
                &amp;lt;/select&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;div className='FormErrorLabel'&amp;gt;&amp;lt;label&amp;gt;{StateErrorMsg}&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;
                &amp;lt;button className='btnAdd' onClick={AddBtnFnt }&amp;gt;Add&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

            {showTable }

        &amp;lt;/&amp;gt;)
};


export default FormValidationInReact;

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

&lt;/div&gt;



&lt;p&gt;Well done! Finally Validate Our For And Make A Awesome GUI !&lt;/p&gt;

&lt;p&gt;Drop some love by liking or commenting ♥&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Reference &lt;a href="https://www.w3schools.com/react/default.asp" rel="noopener noreferrer"&gt;w3schools&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/BIHARISOFT/EduBox/tree/master/form_validation_in_react" rel="noopener noreferrer"&gt;Download Source Code from GitHub Repository&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>react</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How To Customize HTML video Tag controls attribute in React js using useRef() and useState() Hook ?</title>
      <dc:creator>Radheshyam Gupta</dc:creator>
      <pubDate>Sun, 16 Oct 2022 06:45:58 +0000</pubDate>
      <link>https://forem.com/radhe65gupta/how-to-customize-html-video-tag-controls-attribute-in-react-js-using-useref-and-usestate-hook--35g5</link>
      <guid>https://forem.com/radhe65gupta/how-to-customize-html-video-tag-controls-attribute-in-react-js-using-useref-and-usestate-hook--35g5</guid>
      <description>&lt;p&gt;&lt;a href="https://biharisoft.com/EduBoxLive/VideoTagControlAttributesInRactJs" rel="noopener noreferrer"&gt;Go For Live Demo&lt;/a&gt;&lt;br&gt;
If you've worked on any react  applications React Hook played a big role to Control Html elements and its properties.&lt;/p&gt;

&lt;p&gt;Hook  Which played a big role for developing React Application are &lt;strong&gt;useState(),useEffect(),useRef().&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now we Come on Our Topic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First We Know that ,1)How to Play video Through custom Bottom In React Js?&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;const videoPlay = () =&amp;gt; {
        videoRef.current.play();
        setDurationOfVideo(videoRef.current.duration);
        getDurationOfVideo();

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2)How to paused video Through custom Bottom In React Js?&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;const videoStop = () =&amp;gt; {

        videoRef.current.pause();
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3)How to Replay video Through custom Bottom In React Js?&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;const videoReplay= () =&amp;gt; {
        setDurationOfVideo(videoRef.current.duration);
        videoRef.current.currentTime = 0;
        videoRef.current.play();

        getDurationOfVideo();
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;4)How to Show  video Progress Bar Control In React Js?&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; const getDurationOfVideo = () =&amp;gt; {

        const videoIntervalTime = setInterval(() =&amp;gt; {

            setCurrentDurationOfVideo(parseFloat(videoRef.current.currentTime));

            if (parseFloat(videoRef.current.currentTime) &amp;gt;= durationOfVideo)
            {

                clearVideoInterval();
            }

        }, 1000)



        const clearVideoInterval = () =&amp;gt; {
            clearInterval(videoIntervalTime);
        }

    }

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;5)How to Control playbackRate Property of video Tag In React Js?&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;const setVideoSpeed = (e) =&amp;gt; {

        videoRef.current.playbackRate = parseFloat(e.target.value);
    }

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;6)How to Control video tag  Progress Bar Control  In React Js?&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;
const videoDuration = (e) =&amp;gt; {

        setCurrentDurationOfVideo(parseFloat(e.target.value));
        videoRef.current.currentTime = parseFloat(e.target.value);
    }

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Now Second We Know that ,1)How to Control video Audio volume Through custom Progress Bar In React Js?&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;const volumebar = (e) =&amp;gt; {

        const valumValue = parseFloat(e.target.value) / 100;

        setVolumOfVideo(e.target.value);

        videoRef.current.volume = valumValue.toFixed(1);

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2)How to Mute video tag Audio In React Js?&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;const videoMute = () =&amp;gt; {

        videoRef.current.muted = true;
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3)How to UnMute video tag Audio In React Js?&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;const videoUnMute = () =&amp;gt; {

        videoRef.current.muted = false;
    }


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

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;Now Finally We Control All required HTMl Video Tag  controls attribute in React js. Final Code are Below.&lt;br&gt;
1) app.css File&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.customVideoTagClass {
    width: 450px;
    height: 300px;
    border: 2px solid black;
    margin: 70px 0px 0px 20%;
    border-radius:5px;
    float:left;
}
.customVideoTagClass video{
    height:inherit;
    width:inherit;
}

.customVideoTagControlsClass {
    width: 450px;
    height: 300px;
    margin: 70px 0px 0px 10px;
    border: 1px solid black;
    border-radius: 5px;
    float: left;
}
    .customVideoTagControlsClass button{
        border:1px solid orange;
        border-radius:2px;
        padding:5px;
        margin:10px 0px 1px 15px;
        width:70px;
        background-color:coral;
        cursor:pointer;
    }
    .customVideoTagControlsClass input[type=range] {
        width: 377px;
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2&amp;gt; App.js File&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;import React, { useEffect, useRef, useState } from 'react';
import './App.css';

function App() {

    const [volumOfVideo, setVolumOfVideo] = useState(100);
    const [durationOfVideo, setDurationOfVideo] = useState(0);
    const [currentDurationOfVideo, setCurrentDurationOfVideo] = useState(0);

    const videoRef = useRef();

    const getDurationOfVideo = () =&amp;gt; {

        const videoIntervalTime = setInterval(() =&amp;gt; {

            setCurrentDurationOfVideo(parseFloat(videoRef.current.currentTime));

            if (parseFloat(videoRef.current.currentTime) &amp;gt;= durationOfVideo)
            {

                clearVideoInterval();
            }

        }, 1000)



        const clearVideoInterval = () =&amp;gt; {
            clearInterval(videoIntervalTime);
        }

    }

    const volumebar = (e) =&amp;gt; {

        const valumValue = parseFloat(e.target.value) / 100;

        setVolumOfVideo(e.target.value);

        videoRef.current.volume = valumValue.toFixed(1);

    }

    const videoPlay = () =&amp;gt; {
        videoRef.current.play();
        setDurationOfVideo(videoRef.current.duration);
        getDurationOfVideo();

    }

    const videoStop = () =&amp;gt; {

        videoRef.current.pause();
    }

    const videoReplay= () =&amp;gt; {
        setDurationOfVideo(videoRef.current.duration);
        videoRef.current.currentTime = 0;
        videoRef.current.play();

        getDurationOfVideo();
    }

    const videoMute = () =&amp;gt; {

        videoRef.current.muted = true;
    }

    const videoUnMute = () =&amp;gt; {

        videoRef.current.muted = false;
    }

    const setVideoSpeed = (e) =&amp;gt; {

        videoRef.current.playbackRate = parseFloat(e.target.value);
    }

    const videoDuration = (e) =&amp;gt; {

        setCurrentDurationOfVideo(parseFloat(e.target.value));
        videoRef.current.currentTime = parseFloat(e.target.value);
    }



    return (
        &amp;lt;&amp;gt; &amp;lt;h1 style={{ textAlign: 'center' }}&amp;gt;The Customize video controls attribute&amp;lt;/h1&amp;gt;
            &amp;lt;div className='customVideoTagClass'&amp;gt;

                &amp;lt;video ref={videoRef} preload='auto'&amp;gt;
                    &amp;lt;source src='https://www.w3schools.com/html/mov_bbb.mp4' type='video/mp4'&amp;gt;&amp;lt;/source&amp;gt;
                &amp;lt;/video&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div className='customVideoTagControlsClass'&amp;gt;
                &amp;lt;button onClick={videoPlay}&amp;gt;Play&amp;lt;/button&amp;gt;
                &amp;lt;label&amp;gt;playback speed&amp;lt;/label&amp;gt;
                &amp;lt;select onChange={ setVideoSpeed}&amp;gt;
                    &amp;lt;option value={1.0}&amp;gt;normal speed&amp;lt;/option&amp;gt;
                    &amp;lt;option value={0.5}&amp;gt;slower&amp;lt;/option&amp;gt;
                    &amp;lt;option value={2.0}&amp;gt;faster speed&amp;lt;/option&amp;gt;
                &amp;lt;/select&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;button onClick={videoStop} &amp;gt;Stop&amp;lt;/button&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;button onClick={videoReplay}&amp;gt;Repaly&amp;lt;/button&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;button onClick={videoMute}&amp;gt;Mute&amp;lt;/button&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;button onClick={videoUnMute}&amp;gt;Unmute&amp;lt;/button&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;label&amp;gt;&amp;lt;b&amp;gt;volume&amp;lt;/b&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;input type='range' min="0" max="100" step='10' value={volumOfVideo} onChange={volumebar} /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;label&amp;gt;&amp;lt;b&amp;gt;Scrubbing Video&amp;lt;/b&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;input type='range' min="0" max={durationOfVideo} value={currentDurationOfVideo} onChange={videoDuration} /&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/&amp;gt;
    );
}

export default App;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Well done! Finally Control And Make A GUI For Video Tag!&lt;/p&gt;

&lt;p&gt;Drop some love by liking or commenting ♥&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Reference &lt;a href="https://www.w3schools.com/react/default.asp" rel="noopener noreferrer"&gt;w3schools&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/BIHARISOFT/EduBox/tree/master/video_tag_controls_attribute" rel="noopener noreferrer"&gt;Download Source Code from GitHub Repository&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>react</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to handle multiple Same inputs box in React for Bulk Data Insert With Use of useRef Hook?</title>
      <dc:creator>Radheshyam Gupta</dc:creator>
      <pubDate>Sat, 08 Oct 2022 09:16:48 +0000</pubDate>
      <link>https://forem.com/radhe65gupta/how-to-handle-multiple-same-inputs-box-in-react-for-bulk-data-insert-with-use-of-useref-hook-67f</link>
      <guid>https://forem.com/radhe65gupta/how-to-handle-multiple-same-inputs-box-in-react-for-bulk-data-insert-with-use-of-useref-hook-67f</guid>
      <description>&lt;p&gt;&lt;strong&gt;How to get Custom attributes value in React With Use of useRef Hook ?&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;How to Change Input Box defaultValue  In React Js using useRef() Hook ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this Post, we will learn about how to handle multiple input Box defaultValue using useRef() React Hook.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1)onInputChange()  Function&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;const onInputChange = (e) =&amp;gt; {

        ref.current[parseInt(e.currentTarget.attributes['refindex'].value)].value =e.target.value;


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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;How to get All Input Box Value and Store in Array  ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1)ShowValue() Function&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;const ShowValue = () =&amp;gt; {

        const myInputValue = [];
        for (let i = 0; i &amp;lt; ref.current.length; i++) {

            myInputValue.push({
                [ref.current[i].name]: ref.current[i].value
            })

        }
        console.log(myInputValue);
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;How to Clear All Input Box Value ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1)ClearValue() Function&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;const ClearValue = () =&amp;gt; {

        for (let i = 0; i &amp;lt; ref.current.length; i++) {

            ref.current[i].value = 0;
        }

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Finally We Completed our Requirement&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1)App.js&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;import './App.css';
import React, { useRef } from 'react';

function App() {

    const ref = useRef([]);

    const onInputChange = (e) =&amp;gt; {

        ref.current[parseInt(e.currentTarget.attributes['refindex'].value)].value =e.target.value;


    }

    const ShowValue = () =&amp;gt; {

        const myInputValue = [];
        for (let i = 0; i &amp;lt; ref.current.length; i++) {

            myInputValue.push({
                [ref.current[i].name]: ref.current[i].value
            })

        }
        console.log(myInputValue);
    }
    const ClearValue = () =&amp;gt; {

        for (let i = 0; i &amp;lt; ref.current.length; i++) {

            ref.current[i].value = 0;
        }

    }


  return (
      &amp;lt;&amp;gt;
          &amp;lt;div style={{ width: '50%', backgroundColor: '#f7f4f3', marginLeft: '150px', marginTop: '100px', padding: '50px 0px 100px 50px' }}&amp;gt;
              &amp;lt;label&amp;gt;&amp;lt;b&amp;gt;Money&amp;lt;/b&amp;gt;&amp;lt;/label&amp;gt;  &amp;lt;input ref={(element) =&amp;gt; { ref.current[0] = element }} refindex={0} name='ModeyValue' defaultValue='123464' type='text' onChange={onInputChange} /&amp;gt; &amp;lt;br /&amp;gt;
              &amp;lt;label&amp;gt;&amp;lt;b&amp;gt;Money&amp;lt;/b&amp;gt;&amp;lt;/label&amp;gt;  &amp;lt;input ref={(element) =&amp;gt; { ref.current[1] = element }} refindex={1} name='ModeyValue' defaultValue='123' type='text' onChange={onInputChange} /&amp;gt; &amp;lt;br /&amp;gt;
              &amp;lt;label&amp;gt;&amp;lt;b&amp;gt;Money&amp;lt;/b&amp;gt;&amp;lt;/label&amp;gt;  &amp;lt;input ref={(element) =&amp;gt; { ref.current[2] = element }} refindex={2} name='ModeyValue' defaultValue='1' type='text' onChange={onInputChange} /&amp;gt; &amp;lt;br /&amp;gt;
              &amp;lt;label&amp;gt;&amp;lt;b&amp;gt;Money&amp;lt;/b&amp;gt;&amp;lt;/label&amp;gt;  &amp;lt;input ref={(element) =&amp;gt; { ref.current[3] = element }} refindex={3} name='ModeyValue' defaultValue='1234' type='text' onChange={onInputChange} /&amp;gt; &amp;lt;br /&amp;gt;

              &amp;lt;button style={{ padding: '5px', backgroundColor: 'green', border: 'none', margin: '5px 5px 5px 5px' }} onClick={ShowValue}&amp;gt;Check All Input Value in Form of Array&amp;lt;/button&amp;gt;

              &amp;lt;button style={{ padding: '5px', backgroundColor: 'red', border: 'none', margin: '5px 5px 5px 5px' }} onClick={ClearValue}&amp;gt;Clear all Input Value&amp;lt;/button&amp;gt;
          &amp;lt;/div&amp;gt;
      &amp;lt;/&amp;gt;
  );
}

export default App;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Well done! Finally We Store All InputBox Value in Array!&lt;/p&gt;

&lt;p&gt;Drop some love by liking or commenting ♥&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Reference &lt;a href="https://www.w3schools.com/react/default.asp" rel="noopener noreferrer"&gt;w3schools&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/BIHARISOFT/EduBox/tree/master/handle_input_box_using_hook" rel="noopener noreferrer"&gt;Download Source Code from GitHub Repository&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>How do I check/uncheck all checkboxes with a button In React Js using useRef() Hook ?</title>
      <dc:creator>Radheshyam Gupta</dc:creator>
      <pubDate>Sun, 02 Oct 2022 07:38:17 +0000</pubDate>
      <link>https://forem.com/radhe65gupta/how-do-i-checkuncheck-all-checkboxes-with-a-button-in-react-js-using-useref-hook--4p86</link>
      <guid>https://forem.com/radhe65gupta/how-do-i-checkuncheck-all-checkboxes-with-a-button-in-react-js-using-useref-hook--4p86</guid>
      <description>&lt;p&gt;&lt;strong&gt;How do I check/unchecked all checkboxes with a button  In React Js using useRef() Hook ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this Post, we will learn about how check/unchecked all checkboxes &lt;br&gt;
using useRef() React Hook.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1&amp;gt;App.js&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;import logo from './logo.svg';
import './App.css';

import { useRef } from 'react';

function App() {

    const ref = useRef([]);

    const checkboxvalue = (e) =&amp;gt; {
        console.log(e.target.value)
    }

    const Unchecked = () =&amp;gt; {

        console.log(ref.current.length)
        for (let i = 0; i &amp;lt; ref.current.length; i++) {

            ref.current[i].checked = false;
        }

    }
    const Checked = () =&amp;gt; {

        console.log(ref.current.length)
        for (let i = 0; i &amp;lt; ref.current.length; i++) {

            ref.current[i].checked = true;
        }

    }

    return (
        &amp;lt;&amp;gt;
            &amp;lt;div style={{ width: '50%', backgroundColor: '#f7f4f3', marginLeft: '150px', marginTop: '100px', padding:'50px 0px 100px 50px' }}&amp;gt;
            &amp;lt;input ref={(element) =&amp;gt; { ref.current[0] = element }} value='12' type='checkBox' onChange={checkboxvalue } /&amp;gt; &amp;lt;br /&amp;gt;
            &amp;lt;input ref={(element) =&amp;gt; { ref.current[1] = element }} value='123' type='checkBox'  onChange={checkboxvalue } /&amp;gt; &amp;lt;br /&amp;gt;
            &amp;lt;input ref={(element) =&amp;gt; { ref.current[2] = element }} value='1' type='checkBox'    onChange={ checkboxvalue } /&amp;gt; &amp;lt;br /&amp;gt;
            &amp;lt;input ref={(element) =&amp;gt; { ref.current[3] = element }} value='1234' type='checkBox' onChange={checkboxvalue } /&amp;gt; &amp;lt;br /&amp;gt;

            &amp;lt;button style={{ padding: '5px', backgroundColor: 'green', border: 'none', margin:'5px 5px 5px 5px' }}onClick={Unchecked}&amp;gt;Unchecked&amp;lt;/button&amp;gt;

            &amp;lt;button style={{ padding: '5px', backgroundColor: 'red', border: 'none', margin: '5px 5px 5px 5px' }} onClick={Checked}&amp;gt;Checked&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt; 
        &amp;lt;/&amp;gt;
);
}

export default App;

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

&lt;/div&gt;



&lt;p&gt;Well done! You now have Done this using useRef() React  Hook !&lt;/p&gt;

&lt;p&gt;Drop some love by liking or commenting ♥&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Reference &lt;a href="https://www.w3schools.com/react/default.asp" rel="noopener noreferrer"&gt;w3schools&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/BIHARISOFT/EduBox/tree/master/checked_unchecked_checkbox" rel="noopener noreferrer"&gt;Download Source Code from GitHub Repository&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>checkbox</category>
      <category>useref</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
