Возможно, объект имеет значение «null» - ошибка с TypeScript - PullRequest
1 голос
/ 06 июля 2019

У меня вопрос по поводу TypeScript! Мы делаем преобразование JSX в TypeScript в наших проектах.

  {instances.map(instance => {
    const { id, name, type } = second;

    const pageUrl = makePath(
      routes.page.path,
      { firstId: first.id , secondId: id }, <<<<<<
    );

В строке с «<<<<<<», «first» из «first.id» выделяется следующая ошибка: </p>

Object is possibly 'null'.

Я не уверен, как определить его там, где он не будет считаться нулевым. Я смог выяснить второй с помощью деструктуризации, но вы не можете определить «id» дважды. Любое руководство будет высоко ценится!

Ответы [ 2 ]

0 голосов
/ 06 июля 2019

Средство проверки типов не может определить, будет ли first когда-либо отличным от null.Вы можете добавить ненулевой оператор утверждения ! непосредственно после рассматриваемого объекта, чтобы сообщить линтеру, что он не будет нулевым, попробуйте следующее:

{ firstId: first!.id , secondId: id }, <<<<<<
0 голосов
/ 06 июля 2019

Кажется, работает, если я определю ранее в компоненте,

  const firstId = (first ? first.id : '');

и замените firstId: first.id на firstId: firstId.

Если это не рекомендуемое решение, пожалуйста, дайте мне знать! Тем не менее, это устраняет ошибку, которую я видел, и это никак не влияет на функциональность.

...