Ich erhalte diesen Fehler, nachdem ich meine App ausgeführt habe:
Fehler: Bündelung fehlgeschlagen: Fehler: Modul konnte nicht aufgelöst werden react-native-safe-area-context
von node_modules/react-navigation-stack/lib/module/vendor/views/Stack/StackView.js
: react-native-safe-area-context konnte im Projekt nicht gefunden werden.
Aber das gleiche, was ich für meine alte Demo getan hatte. Es hat einwandfrei funktioniert.
Ich weiß nicht, was ich hier falsch mache. Bitte überprüfen Sie meinen Code:
Zur Installation:
- Reagieren Sie auf Native Navigation & Gesture Handler:
npm install --save react-navigation
npm install --save react-native-gesture-handler
- Native Stack reagieren:
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;
Und 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>
);
}
}
Ich bin neu bei React-Native. Bitte helfen Sie mir, dies zu beheben.
react-native
react-native-android
react-native-ios
react-native-navigation
Gautam Shrivastav
quelle
quelle
react-native-safe-area-context
in Ihren Knotenmodulen,react-navigation-stack
erfordert dies, aber Ihre Knotenmodule haben das nichtAntworten:
Ich denke, das Problem liegt in der
SafeAreaView
neuen reaktionsnativen Version, auf die migriert wurdereact-native-community/react-native-safe-area-view
. Wenn Sie verwenden möchtenSafeAreaView
, sollten Sie es zuerst installieren.Die neue Verwendung ist wie folgt:
Für die Installation können Sie die folgenden Befehle verwenden :
yarn add react-native-safe-area-view react-native-safe-area-context
.Wenn Sie keine automatische Verknüpfung verwenden, müssen Sie diese auch verknüpfen. Einzelheiten dazu finden Sie unter diesem Link
quelle
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
, um das Problem zu beheben. Dann hat mein Code erfolgreich funktioniert. Danke für die Hilfe.Es ist ein bisschen lustig, ich wollte Navigation hinzufügen, also habe ich hinzugefügt
Damit dies gut funktioniert, musste ich hinzufügen:
Dann habe ich
dann habe ich
Also habe ich nach der maskierten Ansicht gesucht (die laut Git-Dokument derzeit nicht von der Expo unterstützt wird). Dann fand ich heraus, dass ich Katze benutze:
Daher verwende ich von nun an zu Beginn aller meiner reaktionsnativen Projekte die folgenden Befehle, um die Navigation richtig verwenden zu können:
quelle
Nach dem Ausführen dieser Befehle:
Es wurde ein Fehler in Bezug auf die maskierte Ansicht
npm i @react-native-community/masked-view
angezeigt , sodass ich auch ausführen musste und mein Code nun erfolgreich auf einem physischen Android-Gerät ausgeführt werden kann.Vielen Dank an Lenoarod und Gautam Shrivastav für den Hinweis auf die richtige Richtung.
quelle
0.60
Verwenden Sie für reaktive native Versionen und höher Garn anstelle von npm und verknüpfen Sie nicht .Ich denke, Sie vermissen die Linkabhängigkeit mit Ihrem Projekt, also können Sie Folgendes versuchen:
Mit React Native 0.6 oder höher:
Stellen Sie unter iOS sicher, dass Cocoapods installiert sind und ausgeführt werden:
Mit React native 0.59 und niedriger versuchen Sie:
quelle
Kopieren Sie alle und fügen Sie sie in das Terminal ein
arbeite für mich
quelle
Führen Sie Folgendes aus:
expo
wählt die richtige Version aus und installiert sie dann.quelle
Verwenden Sie das Commend npm, um diesen Fehler zu beheben
quelle
Das Starten des Metro Bundlers direkt aus dem Projektverzeichnis funktioniert für mich. Kann mich jemand wissen lassen, ob es auch für sie funktioniert?
# Cache leeren rm -rf $ TMPDIR / react- ; rm -rf $ TMPDIR / haste- ; rm -rf $ TMPDIR / metro- ; Wächter Watch-del-All
* # Starten Sie Metro Bundler direkt reaktionsstart
* # Jetzt ausführen
react-native run-android
oderreact-native run-ios
in einer anderen Registerkartequelle