TypeScript 3.7.2 - O suporte para a sintaxe experimental 'optionalChaining' não está ativado no momento

12

No meu projeto, estou usando o TS 3.7.2, que deve suportar encadeamento opcional. Mas quando tento usá-lo assim: const state = urlParams.state?.toString()Recebo o erro:

O suporte para a sintaxe experimental 'optionalChaining' não está ativado no momento

Adicione @ babel / plugin-proposta-opcional-encadeamento ( https://git.io/vb4Sk ) à seção 'plugins' da sua configuração do Babel para permitir a transformação.

Eu verifiquei as notas de versão e não vi nenhum requisito sobre a adição de opções do tsconfig para esse recurso.

Gostaria de saber se eu preciso do plugin e configuração babel quando já estou usando o TS e como devo corrigir o erro?

flppv
fonte
11
parece que você está usando o create-react-app. A última vez que verifiquei, isso não oferece suporte a opcionalChaining na configuração do babel que ele usa. Consulte esta edição para atualizações: github.com/facebook/create-react-app/issues/7940
Ben Clayton
@BenClayton thanks! Espero que eles lançem essa atualização o mais rápido possível. Você poderia postar seu comentário como resposta, para que eu pudesse marcá-lo como resolvido?
Flppv
Eu adicionei uma resposta
Ben Clayton

Respostas:

12

Parece que você está usando uma versão mais antiga do create-react-app.

As versões anteriores à v3.3 não oferecem suporte a optionalChaining na configuração babel que ela usa.

Foi adicionado suporte no CRA v3.3. Veja outras respostas sobre como atualizar.

Ben Clayton
fonte
9

Resolvido com uma liberação do CRA v3.3.0 . Se alguém ainda tiver o mesmo erro do título, verifique se você atualizou o react-scriptspacote.

flppv
fonte
2
A atualização também é bem rápida e fácil:yarn add --exact [email protected]
contrariar