← Back to TypeScript Course | Chapter 14: TypeScript with React | Lesson 4 of 8

Events की Typing

React events में useful TypeScript types होती हैं जो event object और इसके target को describe करती हैं। सही event types values पढ़ते या user interactions handle करते समय mistakes रोकने में मदद करती हैं।
Syntax
typescript
function handler(event: React.ChangeEvent<HTMLInputElement>) {
  // event.target.value
}

Button Events को Type करना

React में एक button का onClick handler React.MouseEvent<HTMLButtonElement> typed है, जो React का अपना synthetic event wrapper है, plain DOM code में उपयोग होने वाला raw browser MouseEvent नहीं।

उदाहरण: Typing Button Events

typescript
import React from "react";

function Button(): React.JSX.Element {
	const handleClick = (event: React.MouseEvent<HTMLButtonElement>): void => {
		console.log("Clicked", event.currentTarget.tagName);
	};
	return <button onClick={handleClick}>Click</button>;
}

export default Button;

Input Events को Type करना

एक input का onChange handler React.ChangeEvent<HTMLInputElement> typed है, जो आपको target को manually cast करने की ज़रूरत के बिना एक correctly typed event.target.value देता है।

उदाहरण: Typing Input Events

typescript
import React from "react";

function Input(): React.JSX.Element {
	const handleChange = (event: React.ChangeEvent<HTMLInputElement>): void => {
		console.log(event.target.value);
	};
	return <input onChange={handleChange} />;
}

export default Input;

Form Events को Type करना

एक form का onSubmit handler React.FormEvent<HTMLFormElement> typed है, और इसपर event.preventDefault() call करना यह है कि आप React के default browser form-submission behavior को कैसे रोकते हैं।

उदाहरण: Typing Form Events

typescript
import React from "react";

function Form(): React.JSX.Element {
	const handleSubmit = (event: React.FormEvent<HTMLFormElement>): void => {
		event.preventDefault();
		console.log("Submitted");
	};
	return <form onSubmit={handleSubmit}></form>;
}

export default Form;

Keyboard Events को Type करना

एक keyboard handler React.KeyboardEvent<HTMLInputElement> typed है (या जिस भी element से यह attached हो), कौन सी key event trigger हुई check करने के लिए .key expose करते हुए, जैसे एक Enter keypress detect करना।

उदाहरण: Typing Keyboard Events

typescript
import React from "react";

function SearchBox(): React.JSX.Element {
	const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {
		if (event.key === "Enter") console.log("Enter pressed");
	};
	return <input onKeyDown={handleKeyDown} />;
}

export default SearchBox;

Select Events को Type करना

एक select element का onChange handler React.ChangeEvent<HTMLSelectElement> typed है, जिसका event.target.value हमेशा एक string होता है भले ही selected option एक number represent करे, इसलिए आपको इसे अभी भी खुद convert करना चाहिए।

उदाहरण: Typing Select Events

typescript
import React from "react";

function SizePicker(): React.JSX.Element {
	const handleChange = (event: React.ChangeEvent<HTMLSelectElement>): void => {
		console.log(event.target.value);
	};
	return (
		<select onChange={handleChange}>
			<option value="1">Small</option>
		</select>
	);
}

export default SizePicker;
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. React.MouseEvent<HTMLButtonElement> के बजाय native MouseEvent typed करना।
  2. एक form के onSubmit के लिए React.ChangeEvent उपयोग करना, जब submit events React.FormEvent<HTMLFormElement> हैं।
  3. React.MouseEvent पर event.target.value पढ़ना, जहां value मौजूद नहीं है।
🔒

Chapter Quiz — Complete all 8 topics to unlock

0/8 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.