Javascript 如何在componentDidMount中使用typescript设置只读属性?

Javascript 如何在componentDidMount中使用typescript设置只读属性?,javascript,reactjs,typescript,eslint,typescript-eslint,Javascript,Reactjs,Typescript,Eslint,Typescript Eslint,我希望在React.Component类中具有常量(只读)属性。问题是我不应该在构造函数中初始化它们,因为它们会触发setInterval或fetch之类的副作用。相反,我应该在componentDidMount中初始化它们,但由于我使用了严格的类型检查,我还必须指出它们的类型可以是未定义的(或null,无论如何)。这正是我想要避免的,因为尽管我已经知道,但每次使用它时,我都必须检查该值是否不为null,并且我还希望尽可能避免使用“!”运算符,因为这样当我忘记初始化它们时,我就不会有类型错误 是

我希望在React.Component类中具有常量(只读)属性。问题是我不应该在构造函数中初始化它们,因为它们会触发setInterval或fetch之类的副作用。相反,我应该在componentDidMount中初始化它们,但由于我使用了严格的类型检查,我还必须指出它们的类型可以是未定义的(或null,无论如何)。这正是我想要避免的,因为尽管我已经知道,但每次使用它时,我都必须检查该值是否不为null,并且我还希望尽可能避免使用“!”运算符,因为这样当我忘记初始化它们时,我就不会有类型错误

是否存在清洁的解决方案?有什么方法可以告诉typescript componentDidMount类似于构造函数,因此属性只能在那里初始化