Избавляемся от «неопределенной» ошибки машинописного текста, реагируем - PullRequest
0 голосов
/ 31 марта 2020

Я новичок в конфигурации TypeScript, но вчера я кодировал и упаковывал кодовый блок с проверкой if, если бы usersData допустил ошибки "Object is undefined" go. Теперь я загружаю код сегодня, и у меня есть красные загогулины везде , что я сделал это, что изменилось? Разве это не правильный способ обработки неопределенного? Дело в том, что мое приложение React все еще работает, но мой VSCode забит ошибками, а не предупреждениями, поэтому я подумал, что это может быть просто ошибка моего VSCode?

Любая помощь приветствуется, спасибо!

ts.config

{ "extends": "./paths.json", "compilerOptions": { "target": "es5", "lib": [ "dom", "dom.iterable", "esnext" ], "allowJs": true, "skipLibCheck": true, "sourceMap": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "strict": true, "forceConsistentCasingInFileNames": true, "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, "jsx": "react" }, "include": [ "src", "typings/fonts.d.ts" ] }

Ошибка

if (usersResponse) { let finalData = usersResponse.map((singleUser: any) => { return ( { label: '${singleUser.PreferredLastName}, ${singleUser.PreferredFirstName}', id: singleUser.UserID } ); }); setUsersData(finalData); }

Ошибка в цвете

1 Ответ

0 голосов
/ 31 марта 2020

Вы не поделились достаточным количеством кода для правильного определения (далее, пожалуйста, опубликуйте полный файл или реплицированный фрагмент с ошибкой), но я предполагаю, что машинопись не соответствует, что usersResponse не определена, а скорее, что она может отличаться от не повторяемый экземпляр.

предположим, что у вас есть это:

const userResponse = 'text'

const convertUserData = () => {
  if (userResponse) {
    userResponse.map(() => ...)
  }
}

Вы получите сообщение об ошибке, так как userResponse не является массивом, поэтому вам нужно правильно ввести либо userResponse как «Массив предметов» или расширите охрану до

if (userResponse && Array.isArray(userResponse)) {
  ...
}
...