Gracias. Funciona cuando agrego una declaración de importación: import regeneratorRuntime from "regenerator-runtime";
en el componente estoy usando async/await.
npm i --save-dev @babel/plugin-transform-runtime
{ "plugins": ["@babel/plugin-transform-runtime"] }
Más información: https://babeljs.io/docs/en/babel-plugin-transform-runtime
TLDR;
Me encontré con este problema (usando Babel v7) e incluso después de seguir los consejos e instalar los paquetes relevantes, aún no pude identificar este error. Se comprobaron las siguientes publicaciones de desbordamiento de pila...
Las siguientes acciones ayudaron:
"moduleNameMapper": {
".+\.(css|estilo|menos|sass|scss|png|jpg|ttf|woff|woff2)$": "identity-obj-proxy" }
--setupFilesAfterEnv "./src/setupTests.js"
así que para ejecutar una prueba, será:
$ broma /pathToTest/TestFile.test.js --setupFilesAfterEnv "./src/setupTests.js"
Espero que le sirva a alguien como me ayudó a mí...
Si es realmente necesario que use la función asíncrona, entonces las soluciones anteriores deberían funcionar. Otra forma de resolver esto es usar promesas regulares, al menos eso fue en mi caso.
solo agrega
"browserslist": [ "last 2 Chrome versions" ]
al final de su archivo de proyectos package.json
, ¡también vea que sus navegadores plurales no son navegador!
Su archivo al final podría verse así ->
}, "dependencies": { "prop-types": "^15.8.0", "react": "^17.0.1", "react-dom": "^17.0.1" }, "browserslist": [ "last 2 Chrome versions" ] }
ignore la sección de dependencia en la vista de código anterior, es solo para referencia sobre cómo podría verse su paquete.json.
2022
Si está trabajando con Babel 7 o una versión posterior, no necesita instalar un complemento adicional (ni @babel/plugin-transform-runtime
o @babel/plugin-transform-regenerator
u otros complementos ).
Más tarde, debe incluir esta declaración cada vez que use la sintaxis async/await
.
import regeneratorRuntime from "regenerator-runtime";
Tal vez si ha configurado un linter en su proyecto, le advertirá que se declara esa declaración, pero su valor nunca se lee, pero creo que es solo un error, porque si lo elimina, el código no funciona.