Using Third Party Types
Using Types from TypeScript and Libraries
Many open source projects include type definition by default, e.g. redux
, redux-thunk
. When you use those package with TypeScript, the package would just work without additional configuration on your side.
However, some popular packages does not comes with type definition, e.g. react
, react-dom
, and classnames
. However, as many people use them with TypeScript, you can install the type definition separately (which are maintained separately). For instance, we install @types/classnames
for classnames
package.
Do It: Installing Type Definition
Convert <Slide />
component (slide.tsx
) and install the required type definition.
Create Types for Third-Party Libraries
Example: simple-format-number
declare module 'simple-format-number' {
export default function format(
num: number,
options?: {
fractionDigits?: number;
symbols?: {
decimal?: string;
grouping?: string;
};
}
): string;
}
Extending Third-Party Typing
Sometimes, the type definition of the libraries (and even those comes with TypeScript) may be outdated and you may want to extends them. This section teach you how to do that.
Examples: share
function that use navigator.share
Web API.
Examples: Image
component that use loading
props on img
tag.
Examples: DateInput
using JQuery