React task
React task
1. Initial Rendering
Example:
function App() {
2. Re-rendering
When It Happens:
Example:
function Counter() {
<div>
<p>Count: {count}</p>
</div>
);
Example:
Example:
Definition: Pre-rendering HTML pages at build time and serving static files.
Purpose: Combines the speed of static files with the dynamic nature of
React.
When It Happens: Popular in frameworks like Next.js.
7. Hydration
Definition: A process where the React application takes over the static
HTML and binds it to React's state and interactivity.
function Header() {
function Footer() {
function App() {
return (
<div>
<Header />
<Footer />
</div>
);
root.render(<App />);
function App() {
function InnerComponent() {
return (
<div>
<h1>Hello World!</h1>
<InnerComponent />
</div>
);
root.render(<App />);
File 2: Footer.js
function Footer() {
File 3: App.js
function App() {
return (
<div>
<Header />
<Footer />
</div>
);
File 4: index.js
import React from 'react';
root.render(<App />);
File 1: Home.js
function Home() {
File 2: About.js
function About() {
File 3: Contact.js
function Contact() {
File 4: Services.js
import React from 'react';
function Services() {
File 5: App.js
function App() {
return (
<Router>
<div>
<nav>
<li><Link to="/">Home</Link></li>
<li><Link to="/about">About</Link></li>
<li><Link to="/services">Services</Link></li>
<li><Link to="/contact">Contact</Link></li>
</ul>
</nav>
<Routes>
</Routes>
</div>
</Router>
);
File 6: index.js
root.render(<App />);
Steps to Solve:
---
Code Implementation:
function App() {
return (
<Router>
<div>
<nav>
<ul>
<li><Link to="/">Home</Link></li>
<li><Link to="/portfolio">Portfolio</Link></li>
<li><Link to="/projects">Projects</Link></li>
<li><Link to="/javascript">JavaScript</Link></li>
<li><Link to="/result">Result</Link></li>
</ul>
</nav>
<Routes>
</Routes>
</div>
</Router>
);
---
2. Home.js
return (
<div>
<h1>About Me</h1>
<h2>Concepts Learned:</h2>
<ul>
<li>React Basics</li>
<li>State Management</li>
<li>React Router</li>
<li>Component Lifecycle</li>
</ul>
<h2>Mini Projects:</h2>
<ul>
<li>Todo App</li>
<li>Weather App</li>
</ul>
<h2>Course Expectations:</h2>
</div>
);
};
---
3. Portfolio.js
};
4. Projects.js
return (
<div>
<h1>Projects</h1>
<ul>
<li>Todo App</li>
<li>E-commerce Site</li>
<li>Portfolio Website</li>
</ul>
</div>
);
};
---
5. ContactMe.js
return (
<div>
<h1>Contact Me</h1>
<p>Email: [email protected]</p>
<p>Phone: +1234567890</p>
</div>
);
};
---
6. JavaScript.js
};
7. Result.js
import React, { useState } from "react";
name: "",
email: "",
});
setFormData((prev) => ({
...prev,
[name]: value,
}));
};
subjects[index] = value;
};
const handleMarksChange = (index, value) => {
marks[index] = value;
};
);
setResult({
name: formData.name,
subjects: formData.subjects,
totalMarks,
percentage,
});
};
return (
<div>
<h1>Student Result</h1>
<form
onSubmit={(e) => {
e.preventDefault();
calculateResult();
}}
>
<label>
Name:
</label>
<br />
<label>
Email:
</label>
<br />
<div key={index}>
<label>
<input
type="text"
/>
</label>
<label>
Marks:
<input
type="number"
</label>
</div>
))}
</form>
{result && (
<div>
<h2>Result</h2>
<p>Name: {result.name}</p>
<ul>
<li key={index}>
</li>
))}
</ul>
<p>Percentage: {result.percentage.toFixed(2)}%</p>
</div>
)}
</div>
);
};
Explanation:
Routing: React Router is used to link components and navigate between
pages.
Form: The Result component dynamically calculates the total marks and
percentage based on user input.