TypeScript - React 上下文不适用于新的 PropTypes 包

TypeScript - React context does not work with new PropTypes package

以下使用 React.PropTypes 的代码工作正常,但它会产生预期的警告(不推荐通过主 React 包访问 PropTypes...):

import * as React from 'react';

export class BackButton extends React.Component<{}, {}> {
    static contextTypes = {
        router: React.PropTypes.object
    };

    render() {
        return (
            <button onClick={this.goBack}>Back</button>
        );
    }

    goBack = () => {
        this.context.router.history.goBack();
    }
}

如果我现在用新的 PropTypes 包替换 React.PropTypes,我会得到一个类型错误:"Cannot read property 'object' of undefined":

import * as React from 'react';
import PropTypes from 'prop-types';

export class BackButton extends React.Component<{}, {}> {
    static contextTypes = {
        router: PropTypes.object
    };

    render() {
        return (
            <button onClick={this.goBack}>Back</button>
        );
    }

    goBack = () => {
        this.context.router.history.goBack();
    }
}

我做错了什么?

这不是使用 TypeScript 导入 prop-types 的正确方法。

你必须使用

import * as PropTypes from 'prop-types';

而不是

import PropTypes from 'prop-types';

webpackbin