React form

This commit is contained in:
Tóth Ádám
2025-02-11 10:53:50 +01:00
parent d3ba52281d
commit b351fd9208
69 changed files with 46319 additions and 8118 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,8 @@
"cra-template": "1.2.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-scripts": "5.0.1",
"react-router-dom": "^7.1.3",
"react-scripts": "^3.0.1",
"web-vitals": "^4.2.4"
},
"scripts": {

View File

@@ -0,0 +1,8 @@
function About() {
return (
<p>Körtefa</p>
)
}
export default About

View File

@@ -1,25 +1,20 @@
import logo from './logo.svg';
import './App.css';
import { Routes, Route } from 'react-router-dom';
import Home from './Home';
import About from './About';
import Contact from './Contact';
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
<>
<Routes>
<Route path='/' element={ <Home/> }></Route>
<Route path='about' element={ <About/> }></Route>
<Route path='contact' element={ <Contact/> }></Route>
</Routes>
</>
)
}
export default App;
export default App;

View File

@@ -0,0 +1,8 @@
function Contact() {
return (
<p>Almafa</p>
)
}
export default Contact

View File

@@ -0,0 +1,16 @@
import { useContext } from "react"
import { CounterContext } from "./CounterContext"
function Counter() {
let { counter, setCounter } = useContext(CounterContext)
return (
<div>
<h1>Számláló: {counter}</h1>
<button onClick={() => {setCounter(counter + 1)}}>Növelés</button>
</div>
)
}
export default Counter

View File

@@ -0,0 +1,17 @@
import { useState, createContext } from "react";
import Counter from "./Counter";
export let CounterContext = createContext()
function CounterProvider() {
let [counter, setCounter] = useState(0)
return (
<CounterContext.Provider value={{counter, setCounter}}>
<Counter />
</CounterContext.Provider>
)
}
export default CounterProvider

View File

@@ -0,0 +1,14 @@
import { Link } from "react-router-dom"
function Home() {
return (
<>
<h1>Kezdőlap</h1>
<Link to="about">Információhoz link</Link>
<Link to="contact">Elérhetőséghez link</Link>
</>
)
}
export default Home

View File

@@ -0,0 +1,35 @@
async function StarWarsGet() {
const data = await lekeres()
return (
data.map((item) => {
<div>
<h1>{item.title}</h1>
<span><b>Rendező:</b> {item.director}</span>
<span><b>Producer:</b> {item.producer}</span>
<span><b>Készítés éve:</b> {item.release_date}</span>
</div>
})
)
}
async function lekeres() {
try {
let results = await fetch("https://swapi.dev/api/films/?format=json")
if(!results) {
return <h1>Adatok betöltése</h1>
}
const data = await results.json()
return data.results
} catch (e) {
console.log(`Hiba történt: ${e}`);
}
}
export default StarWarsGet

View File

@@ -0,0 +1,22 @@
import { useState, useEffect } from "react";
function UseEffectTest() {
let [counter, setCounter] = useState(0)
useEffect(() => {
let timer = setTimeout(() => {
setCounter((counter) => counter + 1)
}, 3000)
return () => clearTimeout(timer)
}, [counter])
return <h1>A counter értéke {counter}</h1>
}
export default UseEffectTest

View File

@@ -3,12 +3,15 @@ import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import StarWarsGet from './StarWarsGet';
import { BrowserRouter } from 'react-router-dom';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
<BrowserRouter>
<Home/>
</BrowserRouter>
);
// If you want to start measuring performance in your app, pass a function