Portfolio
Projekt: Moje první React aplikace (CV Generátor)

Projekt: Moje první React aplikace (CV Generátor)

Únor 2026

Po projektech v čistém JavaScriptu, kde jsem musel každý element složitě hledat a upravovat přes DOM, přišel čas posunout se dál. V rámci The Odin Project jsem se ponořil do Reactu. Úkolem bylo vytvořit aplikaci pro tvorbu životopisu (CV Application), kde uživatel vyplňuje data a rovnou vidí živý náhled.

Cílem bylo pochopit základní stavební kameny Reactu: komponenty, props a hook useState.

Sbohem document.querySelector, vítejte Komponenty a Stav

Největší “aha moment” u tohoto projektu bylo to, jak React mění způsob uvažování. Už žádné ruční přidávání event listenerů a sahání do HTML. Místo toho prostě aktualizuji “stav” (state) a React se sám postará o překreslení toho, co je potřeba.

Díky hooku useState se data v aplikaci stala mým jediným zdrojem pravdy. Takhle například vypadá správa stavu pro osobní údaje:

import { useState } from "react";

function PersonalInfo() {
	// Definice stavu jako objektu
	const [person, setPerson] = useState({ name: "", email: "" });

	// Jedna funkce pro obsluhu více inputů
	const handleChange = (e) => {
		setPerson({
			...person, // Zkopírujeme stávající data
			[e.target.name]: e.target.value, // Přepíšeme jen to, co se změnilo
		});
	};

	return (
		<div className="form-section">
			<h2>Osobní údaje</h2>
			<input
				name="name"
				value={person.name}
				onChange={handleChange}
				placeholder="Jméno a příjmení"
			/>

			{/* Náhled se aktualizuje zcela automaticky s každým úhozem do klávesnice */}
			<div className="preview">
				<h3>Životopis pro: {person.name}</h3>
			</div>
		</div>
	);
}

GitHub: My-first—react-app