我的第一部分

import React, { Component } from 'react';
import ReactDOM from 'react-dom';

interface AppProps {
    name: string;
}
interface AppState {
    words: string[];
}

class App extends Component<AppProps, AppState> {
    constructor() {
        super();
        this.state = {
            words: ['foo', 'bar']
        };
    }

    render() {
        const { name } = this.props;
        return (<h1>Hello {name}!</h1>);
    }
}

const root = document.getElementById('root');
ReactDOM.render(<App name="Foo Bar" />, root);

将 TypeScript 与 React 一起使用时,一旦下载了 React DefinitelyTyped 类型定义(npm install --save @types/react),每个组件都会要求你添加类型注释。

你这样做:

class App extends Component<AppProps, AppState> { }

其中 AppPropsAppState 分别是组件的 props 和 state 的接口(或类型别名)。