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 .