Je reçois cette erreur après avoir exécuté mon application:
erreur: échec du regroupement: erreur: impossible de résoudre le module à react-native-safe-area-context
partir de node_modules/react-navigation-stack/lib/module/vendor/views/Stack/StackView.js
: react-native-safe-area-context est introuvable dans le projet.
Mais la même chose que j'avais fait pour mon ancienne démo. Cela a parfaitement fonctionné.
Je ne sais pas ce que je fais mal ici. Veuillez vérifier mon code:
Pour l'installation:
- React Native Navigation & Gesture Handler:
npm install --save react-navigation
npm install --save react-native-gesture-handler
- React Native Stack:
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;
Et 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>
);
}
}
Je suis nouveau sur React-Native. Veuillez m'aider à résoudre ce problème.
react-native
react-native-android
react-native-ios
react-native-navigation
Gautam Shrivastav
la source
la source
react-native-safe-area-context
dans vos modules de nœuds,react-navigation-stack
nécessite cela, mais vos modules de nœuds n'ont pas celaRéponses:
Je pense que le problème est dans le
SafeAreaView
, pour la nouvelle version native de React, il a migré versreact-native-community/react-native-safe-area-view
. si vous voulez l'utiliserSafeAreaView
, vous devez d'abord l'installer.la nouvelle utilisation est la suivante:
pour l' installer , vous pouvez utiliser les commandes suivantes:
yarn add react-native-safe-area-view react-native-safe-area-context
.si vous n'utilisez pas la liaison automatique, vous devez également la lier. pour plus de détails à ce sujet, voir ce lien
la source
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
pour le réparer. Ensuite, mon code a fonctionné avec succès. Merci pour l'aide.C'est un peu drôle, je voulais ajouter la navigation alors j'ai ajouté
pour que cela fonctionne bien, j'ai dû ajouter:
Alors j'ai
alors j'ai
J'ai donc recherché la vue masquée (qui n'est actuellement pas prise en charge par l'expo, selon son document git). Ensuite, j'ai découvert que j'utilisais un chat:
Par conséquent, à partir de maintenant, j'utilise les commandes suivantes au début de tous mes projets natifs réactifs, pour pouvoir utiliser correctement la navigation:
la source
Après avoir exécuté ces commandes:
Cela m'a provoqué une erreur concernant la vue masquée, j'ai donc dû également exécuter
npm i @react-native-community/masked-view
et mon code peut maintenant être exécuté avec succès sur un appareil physique Android.Merci à Lenoarod et Gautam Shrivastav d' avoir indiqué la bonne direction.
la source
0.60
et supérieure, utilisez yarn au lieu de npm et ne liez pas .Je pense que vous manquez la dépendance du lien avec votre projet, vous pouvez donc essayer comme ci-dessous:
Avec React Native 0.6 ou supérieur:
Sur iOS, assurez-vous que les Cocoapods sont installés et exécutés:
Avec React native 0.59 et inférieure, essayez:
la source
tout copier et coller dans le terminal
travaille pour moi
la source
Exécutez ce qui suit:
expo
sélectionnera la bonne version puis l'installera.la source
utiliser la recommandation npm i react-navigation-stack t résoudre cette erreur
la source
Le démarrage de Metro Bundler directement à partir du répertoire du projet fonctionne pour moi. Quelqu'un peut-il me faire savoir si cela fonctionne aussi pour lui?
# Nettoyer le cache rm -rf $ TMPDIR / react- ; rm -rf $ TMPDIR / hâte- ; rm -rf $ TMPDIR / metro- ; watchman watch-del-all
* # Démarrer Metro Bundler réagit directement au démarrage natif
* # Maintenant, lancez
react-native run-android
oureact-native run-ios
dans un autre ongletla source