Explore Library
TypeScriptWorking with JavaScript & Type Declarations

65 items

1

Typing a React onChange Handler

Code Quiz
2

Typing useState & Event Handlers

Quiz
3

Typing React Props, Hooks & Events

Slides / Video
4

Typing React Props, Hooks & Events

Flashcard
5

Typing React Props, State & Events

Slides / Video
6

Typing React Props, State & Events

Flashcard
7

Typing React Props Correctly

Code Quiz
8

Typing React Props with Interfaces

Quiz
9

Typing React Props & State

Slides / Video
10

Typing React Props & State

Flashcard
11

Module Augmentation Basics

Flashcard
12

JSDoc @typedef Property Syntax

Code Quiz
13

Misplaced @ts-ignore Directive

Code Quiz
14

Module Augmentation Basics

Slides / Video
15

Type-Checking JS with allowJs and checkJs

Slides / Video
16

Generating Declaration Files Automatically

Slides / Video
17

Writing Declaration Files for Untyped Libraries

Slides / Video
18

Installing @types from DefinitelyTyped

Slides / Video
19

Ambient Modules and Global Declarations

Slides / Video
20

The declare Keyword for Ambient Declarations

Slides / Video
21

What Declaration Files Are

Slides / Video
22

esModuleInterop for JS Interop

Slides / Video
23

typeRoots and types Configuration

Slides / Video
24

TypeScript Check Comments Explained

Slides / Video
25

Gradual Migration to TypeScript

Slides / Video
26

JSDoc Type Annotations in JavaScript

Slides / Video
27

Typing the global Object

Quiz
28

Gradual JS to TS Migration

Quiz
29

@param and @type Precision

Quiz
30

Purpose of Declaration Files

Quiz
31

The declare Keyword

Quiz
32

Ambient Variable and Function Declarations

Quiz
33

Installing @types Packages

Quiz
34

declare namespace Usage

Quiz
35

Declaring Untyped Modules

Quiz
36

JSDoc Type Annotations

Quiz
37

@ts-check and @ts-nocheck

Quiz
38

@ts-ignore vs @ts-expect-error

Quiz
39

Automatic Type Acquisition

Quiz
40

Implicit any from JS Import

Code Quiz
41

JSDoc @type Annotation

Code Quiz
42

UMD Global Declaration Syntax

Code Quiz
43

Overloaded Signatures in .d.ts

Code Quiz
44

JSDoc @param and @returns

Code Quiz
45

Ambient Variable with declare

Code Quiz
46

Triple-Slash Reference Syntax

Code Quiz
47

Value Inside a .d.ts File

Code Quiz
48

Ambient Function Signature

Code Quiz
49

Ambient Class Shape

Code Quiz
50

Ambient const enum

Code Quiz
51

declare namespace Members

Code Quiz
52

Installing @types Packages

Code Quiz
53

Global Augmentation with declare global

Flashcard
54

Ambient Functions

Flashcard
55

Wildcard Module Declarations

Flashcard
56

JSDoc for Typing JavaScript

Flashcard
57

@ts-ignore vs @ts-expect-error

Flashcard
58

Triple-Slash Directives

Flashcard
59

The declare Keyword

Flashcard
60

@ts-check and @ts-nocheck

Flashcard
61

Gradual JS to TS Migration

Flashcard
62

Structure of an @types Package

Flashcard
63

Installing @types Packages

Flashcard
64

Handling Implicit any

Flashcard
65

Ambient Global Variables

Flashcard
Code Quiz

Typing a React onChange Handler

Spot the incorrect DOM event type used for a controlled input's change handler.

Codetypescript
import { useState } from 'react';

interface SearchProps {
  onSearch: (term: string) => void;
}

function Search({ onSearch }: SearchProps) {
  const [term, setTerm] = useState('');

  const handleChange = (e: React.MouseEvent<HTMLInputElement>) => {
    setTerm(e.target.value);
    onSearch(e.target.value);
  };

  return <input value={term} onChange={handleChange} />;
}

What is the bug in this code?