TypeScript 3.7.2 - Підтримка експериментального синтаксису 'optionalChaining' наразі не ввімкнена


12

У своєму проекті я використовую TS 3.7.2, який повинен підтримувати необов'язкове ланцюжок. Але коли я намагаюся використовувати його так: const state = urlParams.state?.toString()я отримую помилку:

Підтримка експериментального синтаксису "optionalChaining" наразі не включена

Додайте @ babel / plugin-offer-optional-chaining ( https://git.io/vb4Sk ) до розділу «плагіни» вашого конфігурації Babel, щоб увімкнути трансформацію.

Я перевірив нотатки до випуску та не побачив жодних вимог щодо додавання параметрів tsconfig для цієї функції.

Мені цікаво, чи мені потрібен плагін і конфігурація Babel, коли я вже використовую TS, і як мені виправити помилку?


1
здається, ви використовуєте додаток create-react. Востаннє я перевіряв, що ця опція не підтримує optionalChaining в конфігурації babel, яку він використовує. Дивіться цю проблему для оновлень: github.com/facebook/create-react-app/isissue/7940
Бен Клейтон

@BenClayton дякую! Сподіваємось, що вони відновлять оновлення якнайшвидше Чи можете ви опублікувати свій коментар як відповідь, щоб я міг позначити його як вирішене?
flppv

Я додав відповідь
Бен Клейтон

Відповіді:


12

Це здається, що ви використовуєте старішу версію програми create-react-app.

Версії, які раніше, ніж v3.3, не підтримують optionalChaining в конфігурації babel, яку він використовує.

Підтримка додана в CRA v3.3. Дивіться інші відповіді, як оновити.


9

Вирішено з випуском CRA v3.3.0 . Якщо хтось все-таки має таку ж помилку, як і в заголовку, переконайтеся, що ви оновили react-scriptsпакет.


2
Оновлення теж досить швидко і просто:yarn add --exact react-scripts@3.3.0
протидія
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.