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.