TypeScript 3.7.2: la compatibilidad con la sintaxis experimental 'optionalChaining' no está habilitada actualmente


12

En mi proyecto estoy usando TS 3.7.2 que debería admitir el encadenamiento opcional. Pero cuando trato de usarlo así: const state = urlParams.state?.toString()aparece el error:

El soporte para la sintaxis experimental 'optionalChaining' no está habilitado actualmente

Agregue @ babel / plugin-offer-optional-chaining ( https://git.io/vb4Sk ) a la sección 'plugins' de su configuración de Babel para permitir la transformación.

Revisé las notas de la versión y no vi ningún requisito sobre agregar opciones tsconfig para esa función.

Me pregunto si necesito babel plugin & config cuando ya estoy usando TS, y ¿cómo debo solucionar el error?


1
suena como si estuvieras usando create-react-app. La última vez que verifiqué esto no es compatible con la función opcional de encadenamiento en la configuración de babel que usa. Consulte este número para obtener actualizaciones: github.com/facebook/create-react-app/issues/7940
Ben Clayton el

@BenClayton gracias! Espero que publiquen esa actualización lo antes posible. ¿Podría publicar su comentario como respuesta para que yo pueda marcarlo como resuelto?
flppv

He agregado una respuesta
Ben Clayton,

Respuestas:


12

Parece que está utilizando una versión anterior de create-react-app.

Las versiones anteriores a la v3.3 no admiten el OpcionalChaining en la configuración de babel que usa.

Se agregó soporte en CRA v3.3. Vea otras respuestas sobre cómo actualizar.


9

Resuelto con un lanzamiento de la CRA v3.3.0 . Si alguien aún tiene el mismo error que en el título, asegúrese de haber actualizado el react-scriptspaquete.


2
La actualización es bastante rápido y fácil también:yarn add --exact react-scripts@3.3.0
counterbeing
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.