TypeScript - проверить, что переменная типа unknown имеет определенное свойство - PullRequest
0 голосов
/ 19 марта 2020

Я использую машинопись в relay, и переданный props имеет тип unknown. Я пробовал несколько способов убедить компилятор в том, что он может иметь какое-то свойство, но он продолжает показывать мне ошибку:

<QueryRenderer
  environment={environment}
  query={testQuery}
  variables={{}}
  render={({ error, props }) => {
    if (error) {
      return <div>Error!</div>;
    }
    if (!props) {
      return <div>Loading...</div>;
    }
    if (!!props && _.isObject(props) && props.hasOwnProperty("Messages"))
      return <MessageList messages={props.Messages} />;
  }}
/>;

Приведенный выше код не работает, машинопись все еще предупреждает меня, что

Свойство 'Messages' не существует для типа 'object'.

Как заставить этот простой пример работать, но при этом мой код не выглядит отвратительным? Большое спасибо!

...