React Context API的惯用法与TypeScript的严格初始化

时间:2019-08-01 05:03:57

标签: reactjs typescript react-context

我正在尝试转换已正常运行的React应用程序,因此它将遵循TypeScript严格的规则,并且会被上下文API卡住。普通的使用方法如下:

// context type and producer are defined in one place for the whole project
import GlobalContext from '../context/GlobalContext';

class MyComponent extends React.Component {
    public context: React.ContextType<typeof GlobalContext>;
    // other component logic
}
MyComponent.contextType = GlobalContext;

但是,在严格的类初始化中,TypeScript显示了一个错误,告知context属性未在构造函数中初始化-实际上并未初始化,因为它将由React初始化。

现在,我可以使用定值分配断言来“修复”此问题:

public context!: React.ContextType<typeof GlobalContext>;

但是还有一些惯用的解决方案吗?

0 个答案:

没有答案