Recibo este error después de ejecutar mi aplicación:
error: error de agrupación: Error: no se puede resolver el módulo react-native-safe-area-context
desde node_modules/react-navigation-stack/lib/module/vendor/views/Stack/StackView.js
: no se pudo encontrar el contexto react-native-safe-area-context dentro del proyecto.
Pero lo mismo que hice para mi antigua demostración. Funcionó perfectamente bien.
No sé qué estoy haciendo mal aquí. Por favor revise mi código:
Para instalar:
- React Native Navigation & Gesture Handler:
npm install --save react-navigation
npm install --save react-native-gesture-handler
- Reaccionar pila nativa:
npm install --save react-navigation-stack
App.js
import { createAppContainer } from "react-navigation";
import { createStackNavigator } from "react-navigation-stack";
import FirstOptionsPage from "./FirstOptionsPage";
const MainNavigator = createStackNavigator(
{
FirstOptions: FirstOptionsPage
},
{
defaultNavigationOptions: {
headerStyle: {
// backgroundColor: '#28F1A6',
elevation: 0,
shadowOpacity: 0
},
headerTintColor: "#ca375e",
headerTitleStyle: {
fontWeight: "bold",
color: "#161616"
}
}
}
);
const App = createAppContainer(MainNavigator); // For setting Navigation Stack
export default App;
Y FirstOptionsPage.js:
import React from "react";
import {
SafeAreaView,
StyleSheet,
View,
Text,
ScrollView,
Switch
} from "react-native";
export default class FirstOptionsPage extends React.Component {
static navigationOptions = {
title: "Preferences"
};
constructor(props) {
super(props);
this.state = {
switch1Value: false
};
}
toggleSwitch1 = value => {
this.setState({ switch1Value: value });
console.log("Switch 1 is: " + value);
};
render() {
const { navigate } = this.props.navigation;
return (
<SafeAreaView style={styles.mainContainerStyle}>
<View style={styles.subContainerStyle}>
<Text style={styles.subtitleTextStyle}>Someone likes my post</Text>
<View style={styles.switchStyle}>
<Switch
onValueChange={this.toggleSwitch1}
value={this.state.switch1Value}
thumbColor={MAGENTA_COLOR_CODE}
trackColor={{
false: GREY_COLOR_CODE,
true: DARK_GREY_COLOR_CODE
}}
/>
</View>
</View>
</SafeAreaView>
);
}
}
Soy nuevo en React-Native. Por favor, ayúdame a arreglar esto.
react-native
react-native-android
react-native-ios
react-native-navigation
Gautam Shrivastav
fuente
fuente
react-native-safe-area-context
en sus módulos de nodo,react-navigation-stack
requiere eso, pero sus módulos de nodo no tienen esoRespuestas:
Creo que el problema está en
SafeAreaView
, para la nueva versión nativa de reacción, a la que ha migradoreact-native-community/react-native-safe-area-view
. si quieres usarloSafeAreaView
, primero debes instalarlo.El nuevo uso es así:
para la instalación que se pueden utilizar los siguientes comandos:
yarn add react-native-safe-area-view react-native-safe-area-context
.Si no utiliza el enlace automático, también debe vincularlo. para detalles al respecto, vea este enlace
fuente
error: bundling failed: Error: Unable to resolve module `@react-native-community/masked-view` from `node_modules/react-navigation-stack/lib/module/vendor/views/MaskedView.js`: @react-native-community/masked-view could not be found within the project.
@react-native-community/masked-view
para solucionarlo. Entonces mi código funcionó con éxito. Gracias por la ayuda.Es un poco divertido, quería agregar navegación, así que agregué
para que esto funcione bien tuve que agregar:
Entonces tengo
entonces tengo
Así que busqué la vista enmascarada (que actualmente no es compatible con la exposición, de acuerdo con su documento git). Luego descubrí que uso gato:
Por lo tanto, a partir de ahora uso los siguientes comandos al comienzo de todos mis proyectos de reacción nativa, para poder usar la navegación correctamente:
fuente
Después de ejecutar estos comandos:
Me provocó un error sobre la vista enmascarada, así que también tuve que ejecutar
npm i @react-native-community/masked-view
y luego mi código ahora se puede ejecutar con éxito en el dispositivo físico Android.Gracias a Lenoarod y Gautam Shrivastav por señalar la dirección correcta.
fuente
0.60
y superior, use hilo en lugar de npm y no enlace .Creo que echas de menos la dependencia del enlace con tu proyecto, así que puedes probar lo siguiente:
Con React Native 0.6 o superior:
En iOS, asegúrese de tener Cocoapods instalado y ejecutado:
Con React native 0.59 y menor prueba:
fuente
copiar todo y pegar en la terminal
trabaja para mi
fuente
Ejecute lo siguiente:
expo
seleccionará la versión correcta y luego la instalará.fuente
use el comando npm i react-navigation-stack para resolver este error
fuente
Iniciar el Metro Bundler directamente desde el directorio del proyecto funciona para mí. ¿Alguien puede decirme si también les funciona?
# Limpiar caché rm -rf $ TMPDIR / react- ; rm -rf $ TMPDIR / haste- ; rm -rf $ TMPDIR / metro- ; vigilante watch-del-all
* # Iniciar Metro Bundler directamente reaccionar-inicio nativo
* # Ahora se ejecuta
react-native run-android
oreact-native run-ios
en otra pestañafuente