J'écris une application basée sur react-native
et nous savons que nous pouvons utiliser des codes JavaScript
dans ce projet et dans tous les projets react
.
Mais quand j'utilise le code ci-dessous, le retour du transpiler Erreur au simulateur:
const mixer = (...arg) => arg.flat(9);
L'erreur est la suivante: flat is not function
Pourquoi dans react-native
il n'est pas défini mais dans le navigateur fonctionne bien?
React Native utilise le moteur JavaScriptCore qui utilise le fichier ECMA-262 . La spécification montre clairement que .flat n'est pas pris en charge et n'est pas inclus dans la liste des transformations pour babel.
Écrivez-vous ou installez l'une des nombreuses cales disponibles sur npm.
au lieu de arr.flat
essayez d'utiliser cette fonction
function flatten(arr) {
return Array.prototype.concat(...arr);
}
flatten(arr)
Est-il supporté sur votre plate-forme? Array.prototype.flat
Link contient également des implémentations utilisant reduction et concat ainsi que non récursif.