tutorial react estructura español curso create app react-native

react native - react - ¿Cómo usar aguarda palabra clave en reaccionar nativo?



react native fb (4)

Intenté usar await / async en reaccionar nativo, pero recibí un error de token inesperado.

Agregué el código soplo en mi archivo fuente de JavaScript:

var value = await AsyncStorage.getItem(''STORAGE_KEY'');

Mi versión nativa de reacción es 0.15.0.

¿Debo agregar alguna configuración para usar async / await?


¿Debo agregar alguna configuración para usar async / await?

Sí. async aún no es una parte finalizada de la especificación; actualmente se consideran "Etapa 3" (Candidato).

Puede habilitar todas las propuestas de lenguaje de la Etapa 3 en su .babelrc utilizando el preajuste stage-3 . Alternativamente, puede agregar solo el complemento async .


Después de leer este comentario sobre los problemas de GitHub con reactivos, lo siguiente funcionó para mí:

Agregue el siguiente módulo npm:

npm install babel-preset-react-native-stage-0 --save

Agregue la siguiente configuración a su archivo .babelrc :

{ presets: [''react-native-stage-0''] }

Limpia tu caché:

$ watchman watch-del-all $ ./node_modules/react-native/packager/packager.sh --reset-cache


Estoy usando async / await en mi aplicación nativa de Reaction y no tuve que hacer nada para configurarlo o habilitarlo en mi proyecto. Mi uso toma la forma de ...

async getCache(key){ try{ let value = await AsyncStorage.getItem(key); return value.json(); } catch(e){ console.log(''caught error'', e); // Handle exceptions } }

Nota : Si utiliza un indicador de espera dentro de una función que no está explícitamente declarada con asincrónica, terminará con un error de sintaxis de token inesperado.


Si tiene un archivo .babelrc en la raíz de su proyecto, debe agregar el preajuste "react-native" :

npm i babel-preset-react-native --save-dev

Luego, en su archivo .babelrc , agregue lo siguiente:

{ "presets": ["react-native"] }

Más información here .