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

12

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

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

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

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

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

flppv
источник
1
звучит так, как будто вы используете приложение create-реагировать. В прошлый раз, когда я проверял, это не поддерживает опциональную цепочку в конфигурации Babel, которую он использует. Смотрите этот выпуск для обновлений: github.com/facebook/create-react-app/issues/7940
Бен Клейтон
@BenClayton спасибо! Надеюсь, что они выпустят это обновление как можно скорее. Не могли бы вы опубликовать свой комментарий в качестве ответа, чтобы я мог пометить его как решенный?
flppv
Я добавил ответ
Бен Клейтон

Ответы:

12

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

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

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

Бен Клейтон
источник
9

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

flppv
источник
2
Обновление тоже довольно быстрое и легкое:yarn add --exact react-scripts@3.3.0
противодействие