【发布时间】:2020-04-20 22:33:19
【问题描述】:
运行我的应用程序后出现此错误:
错误:捆绑失败:错误:无法从
node_modules/react-navigation-stack/lib/module/vendor/views/Stack/StackView.js解析模块react-native-safe-area-context:在项目中找不到 react-native-safe-area-context。
但我为旧演示所做的相同。效果很好。
我不知道我在这里做错了什么。请检查我的代码:
安装:
- React 原生导航和手势处理程序:
npm install --save react-navigation
npm install --save react-native-gesture-handler
- React Native 堆栈:
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;
和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>
);
}
}
我是 React-Native 的新手。我该如何解决这个问题?
【问题讨论】:
-
检查你的节点模块中的
react-native-safe-area-context,react-navigation-stack需要,但你的节点模块没有 -
我必须将
react-native-safe-area-context添加到我的package.json文件中。我不明白为什么这不是 React Navigation 的对等依赖项。但是,可能是由于版本冲突或其他原因。如果它需要它,它应该是一个对等依赖。
标签: react-native react-native-android react-native-ios react-native-navigation