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?

flppv
fuente
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.

Ben Clayton
fuente
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.

flppv
fuente
2
La actualización es bastante rápido y fácil también:yarn add --exact [email protected]
counterbeing