TypeScript
TypeScript használata React-ben
Props, state, event handler-ek, useRef és children típusozása gyakorlati példákkal.
TypeScript használata React-ben
Props típusozása
type ButtonProps = {
label: string
onClick: () => void
disabled?: boolean
variant?: "primary" | "secondary" | "danger"
}
const Button = ({ label, onClick, disabled = false, variant = "primary" }: ButtonProps) => {
return (
<button onClick={onClick} disabled={disabled} className={`btn btn-${variant}`}>
{label}
</button>
)
}interface CardProps {
title: string
description: string
imageUrl?: string
children?: React.ReactNode
}State típusozása
import { useState } from "react"
interface User {
id: number
name: string
email: string
}
const UserProfile = () => {
const [user, setUser] = useState<User | null>(null)
const [loading, setLoading] = useState<boolean>(false)
return <div>{user?.name}</div>
}Eseménykezelők
const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
console.log(event.target.value)
}useRef típusozása
import { useRef } from "react"
const InputFocus = () => {
const inputRef = useRef<HTMLInputElement>(null)
return <input ref={inputRef} />
}Children típusozása
import { ReactNode, PropsWithChildren } from "react"
interface LayoutProps {
children: ReactNode
title: string
}
type CardWithChildrenProps = PropsWithChildren<{ title: string }>