React JS Training

ReactJS is an open-source JavaScript library used to create user interfaces in a declarative and efficient way. It is used to create modular user interfaces and promotes the development of reusable UI components that display dynamic data.

Application Deadline

April 3

Schedule

Tuesday – Thursday – Friday from 17:30 – 20:30
Course Duration

60 hours

April 3, 2025 - May 16, 2025

React Basics & JSX

Understanding React’s Role

The component-based approach, Virtual DOM

Setting Up a New React Project

Using create-react-app, Vite, or similar tools

JSX Syntax

Embedding expressions, common pitfalls

Rendering & Updating the UI

 

How React re-renders components

Components, Props & State

Functional vs. Class Components

(If class components are still taught)

Props

Passing data down, prop types, default props

State Management

Local state, useState hook

Lifecycle & useEffect

 

Basic side effects in functional components

Forms, Validation & Simple Animation

Controlled vs. Uncontrolled Components

Handling input values in React

Form Submission & Validation

Basic custom validation or libraries (Formik/Yup)

Animations

Simple CSS transitions or React Transition Group

Improving UX

 

Showing error messages, inline validation

Creating Routes & Links

React Router Basics

Setting up routes, BrowserRouter, Switch/Routes

Navigation Components

vs.

Nested & Dynamic Routes

Route parameters and query strings

Protected Routes (Overview)

 

Basic authentication checks

Context API, Context & Deployment

Context API Introduction

When and why to use context instead of props

Creating & Providing Context

Using createContext, useContext

Performance Considerations

Avoiding unnecessary re-renders

Basic Deployment

 

Deploying to Netlify, Vercel, or GitHub Pages

HTTP & BFF Requests

HTTP Requests in React

Fetch API vs. Axios

Backend for Frontend (BFF) Concept

Overview of how a BFF can simplify API calls

Error Handling & Loading States

Graceful error messages, spinners/loaders

Integrating External APIs

 

Best practices for data fetching

Working With The GitHub API

Fetching Data

Searching for users and repositories

Displaying Results

Handling pagination, user details, repos

Error & Rate Limit Handling

Dealing with GitHub’s rate limits

Refining the UI

 

Making the results more user-friendly

Using Third Party UI Components

Choosing a UI Library

Material-UI, Bootstrap, Tailwind, or others

Installing & Configuring

Theming, customizing components

Pros & Cons

When to use a UI library vs. custom styling

Styling Best Practices

 

Global vs. component-level styling

Refactoring Context & Apps

Context Split & Organization

Breaking large contexts into smaller ones

Performance Optimization

Memoization (useMemo, useCallback)

App Restructuring

Improving folder structure and naming

Testing Context

 

Ensuring reliability and maintainability

More Advanced Usage of React Hooks

Custom Hooks

Abstracting reusable logic

useReducer

Managing complex state transitions

useCallback & useMemo

Preventing unnecessary re-renders

Deep Dive into useEffect

 

Cleanup functions, avoiding infinite loops

Second Project

Project Requirements & Goals

Overview of the marketplace functionality

Data Modeling

How listings, users, and other data relate

UI Skeleton

Basic components (header, footer, home, etc.)

Collaboration & Version Control

 

Git branching strategy (if working in a team)

Firebase Authentication & Profile

Firebase Setup

Project creation, config in React

User Authentication

Email/password, social logins (if applicable)

Managing User Profiles

Storing profile data in Firebase

Protecting Routes

 

Checking auth state before rendering pages

Get & Create Listings

Integrating Firestore

Fetching data, real-time listeners (if used)

Displaying Listings

Mapping over data, pagination, sorting

Creating Listings

Forms, image uploads, validations

Error & Loading States

 

User-friendly feedback

Single Listing, Map, Edit Listing & More

Single Listing Page

Detailed info, images, pricing

Map Integration

Using Leaflet, Google Maps, or similar

Editing Existing Listings

Update forms, permissions

Additional Features

Carousel for images, favorites, etc.

 

Certification / Completion

Minimum criteria:

1. Course Attendance - 80%

2.Final Project / Exam - 20%

Instructor
Instructor
Egzon Uka | Instructor

Egzon Uka is a dynamic front-end developer with a strong focus on JavaScript as a core technology, alongside expertise in Angular, React. His portfolio spans industries such as e-commerce, regulatory compliance, maritime, and medical sectors. With proficiency in modern frameworks like SCSS, Tailwind css, Bootstrap, and advanced CMS integrations, Egzon consistently delivers seamless, high-performance digital solutions. As a programming instructor for several years, he has honed his communication and problem-solving skills. His passion for crafting polished, responsive, and user-centric experiences makes him a valuable asset to any tech-driven project.

Facebook
Twitter
LinkedIn