Как установить свойство только для чтения с машинописью в componentDidMount? - PullRequest
0 голосов
/ 06 апреля 2020

Я хотел бы иметь постоянные (только для чтения) свойства в классе React.Component. Проблема в том, что я не должен инициализировать их в конструкторе, поскольку они вызывают побочные эффекты, такие как setInterval или fetch. Вместо этого я должен инициализировать их в componentDidMount, но так как я использую строгие проверки типов, я должен также указать, что их типы могут быть неопределенными (или вообще иметь значение null). Это то, чего я хочу избежать, потому что тогда я вынужден проверять, не является ли значение нулевым, каждый раз, когда я его использую, несмотря на то, что я уже знаю это, и я также хочу избегать использования "!" оператор, насколько это возможно, потому что тогда у меня нет ошибок типа, когда я забываю их инициализировать.

Существует ли чистое решение? Каким-то образом сказать типизированному сценарию, что componentDidMount похож на конструктор, и поэтому свойство может быть инициализировано только там?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...