Day24 ReactJS SPA Hooks ClassComponents
Day24 ReactJS SPA Hooks ClassComponents
<Routes>
<Route path="/" element= { <App /> } />
<Route path="/Emps" element= { <Emps /> } />
…..
</Routes>
</Router>
);
Routing details in ReactDOM.render()
const root =
ReactDOM.createRoot(document.getElementById('root’));
root.render(
<React.StrictMode>
{routing}
</React.StrictMode>
);
Narasimha
Sr. IT Trainer/Consultant
How to handle invalid route?
<Route path="*" element= { <NotFound /> } />
function NotFound(){
return <div>
………
</div>;
};
export default NotFound;
Narasimha
Sr. IT Trainer/Consultant
How to handle route parameters?
<Route path="/Details/:id" element= { <Details /> } />
function Details(props)
{
const { id } = useParams();
…………………
}
Index.js
<Route path="/Admin" element= { <Admin /> }>
<Route index element= { <AdminHome /> } />
<Route path="Projects" element= { <Projects /> } />
<Route path="Customers" element= { <Customers /> } />
</Route>
How to implement nested routing?
function Admin()
{
return (
<div>
<h3>This is Admin Component</h3>
<Link to="">Admin Home</Link> |
<Link to="Projects">Projects</Link> |
<Link to="Customers">Customers</Link> |
<Outlet />
</div> );
}
Narasimha
Sr. IT Trainer/Consultant
Programmatic Navigations
import { useNavigate } from "react-router-dom";
let navigate = useNavigate();
navigate("/Emps");
window.location.replace(url);
Hands-On Implementation
Narasimha
Sr. IT Trainer/Consultant
Class Components
import React from 'react';
button1Click() {
this.setState( { name : "Scott" } );
// Update State
}
}
State in Class Components
class Demo extends React.Component
{
constructor() {
// Initialize State
this.state = { name : "Scott" };
this.buttonClick = this.buttonClick.bind( this );
}
buttonClick() {
this.setState( { name : "Scott" } );
// Update State
}
}
State in Class Components
class Demo extends React.Component
{
.....
render() {
return <div>
<input type="text" value={this.state.uid}
onChange={this.handleUserIdChange} />
function Details(props)
{
const { id } = useParams();
…………………
}
useEffect(callback, []);
useEffect(() =>
{
// code
}, []);
useEffect
useEffect(() =>{
let url =
"https://www.w3schools.com/angular/customers.php";
axios.get(url).then( (resData) => {
setCustomers(resData.data.records);
});
}, []);
useContext
1. Create contex
var contexObj = createContext(null);
2.
<contextObj.Provider value={userObj}>
// child
</contexObj.Provider>