TypeScript 3.7.2 - поддержка экспериментального синтаксиса optionalChaining в настоящее время не включена.

В моем проекте я использую TS 3.7.2, который должен поддерживать необязательную цепочку. Но когда я пытаюсь использовать это так: const state = urlParams.state?.toString(), я получаю сообщение об ошибке:

Поддержка экспериментального синтаксиса optionalChaining в настоящее время не включена.

Добавьте @ babel / plugin-scheme-optional-chaining (https://git.io/vb4Sk) в ' plugins в вашей конфигурации Babel, чтобы включить преобразование.

Я проверил примечания к выпуску и не увидел никаких требований о добавлении параметров tsconfig для этой функции.

Мне интересно, нужен ли мне плагин и конфигурация babel, когда я уже использую TS, и как мне исправить ошибку?


person flppv    schedule 25.11.2019    source источник
comment
похоже, что вы используете приложение create-response-app. В прошлый раз я проверил, что это не поддерживает optionalChaining в конфигурации babel, которую он использует. См. Обновления в этой проблеме: github.com/facebook/create-react-app/ issues / 7940   -  person Ben Clayton    schedule 26.11.2019
comment
@BenClayton, спасибо! Надеюсь, они выпустят это обновление как можно скорее. Не могли бы вы опубликовать свой комментарий в качестве ответа, чтобы я мог отметить его как решенный?   -  person flppv    schedule 26.11.2019
comment
Я добавил ответ   -  person Ben Clayton    schedule 27.11.2019


Ответы (2)


Похоже, вы используете старую версию create-response-app.

Версии до v3.3 не поддерживают optionalChaining в используемой им конфигурации babel.

Поддержка была добавлена ​​в CRA v3.3. См. Другие ответы о том, как обновить.

person Ben Clayton    schedule 27.11.2019

Решено с помощью версии CRA v3.3.0. Если у кого-то по-прежнему возникает та же ошибка, что и в заголовке, убедитесь, что вы обновили react-scripts пакет.

person flppv    schedule 09.12.2019
comment
Обновление тоже происходит довольно быстро и просто: yarn add --exact [email protected] - person counterbeing; 09.01.2020