React Native: SyntaxError: el modo estricto no permite declaraciones de funciones en una declaración léxicamente anidada
Empecé a recibir este error en iOS después de actualizar React Native 0.22.2 y actualizar algunos complementos. He intentado degradar y reinstalar todo, pero no puedo deshacerme de solucionarlo. Alguien más se encontró con esto:
SyntaxError: Strict mode does not allow function declarations in a lexically nested statement.
Actualización n. ° 1:Además de revertir los módulos, he comentado cualquier'use strict';
Una de las cosas que actualicé fue npm y node. Estoy ejecutando el nodo v5.3.0 y npm v3.8.3. No recuerdo qué versiones tenía ...
Actualización n. ° 2:Existen los módulos que estoy usando en react native:
"dependencies": {
"deep-freeze": "github:substack/deep-freeze",
"react": "^0.14.7",
"react-native": "^0.22.2",
"react-native-activity-view": "^0.2.8",
"react-native-animated-progress-bar": "^1.0.0",
"react-native-audio": "^1.0.0",
"react-native-camera": "git+https://github.com/lwansbrough/react-native-camera.git",
"react-native-device-info": "^0.9.1",
"react-native-fs": "^1.2.0",
"react-native-html-to-pdf": "^0.1.2",
"react-native-in-app-utils": "^2.3.0",
"react-native-mail": "^0.2.4",
"react-native-passcode-auth": "^1.0.0",
"react-native-router-flux": "^2.3.13",
"react-native-save-asset-library": "^1.0.0",
"react-native-touch-id": "^1.2.4",
"react-native-transfer": "^1.0.2",
"react-native-utils": "^1.0.1",
"react-native-webkit-localstorage-reader": "^1.0.0",
"react-redux": "^3.1.2",
"redux": "^3.0.5",
"redux-thunk": "^2.0.1"
}
Actualización n. ° 3Con la idea de que degradar a React Native 0.21.0 solucionaría este problema, hice lo siguiente:
Eliminado elnode_modules
carpetaSe modificó la versión react-native de package.json de 0.22.2 a 0.21.0 y se eliminó la entrada de reacción (creo que es solo un requisito para 0.22.2).Corriónpm install
Corriónpm start --reset-cache
Abrí xcode y ejecuté la aplicación en el simulador.Desafortunadamente, sigo recibiendo el mismo error. Solo para asegurarme de que no era algo externo a mi proyecto, creé un nuevo proyecto react-native y funcionó bien (incluso con react native 0.22.2). Entonces, es algo que tiene que ver con mi proyecto, pero por mi vida no puedo entender qué hice para causar esto. :(