所以我试图设置一个登录屏幕的导航,我已经尝试重新链接依赖和安装软件包一遍,我只工作了两个文件。我在MacOS上工作,并在iOS 13.5上模拟。
App.js
import React, { Component } from 'react'
import {
StyleSheet,
View
} from 'react-native'
import Mystack from './navigators/StackNavigator'
export default class App extends Component {
render() {
return (
<NavigationContainer>
<Mystack/>
</NavigationContainer>
)
}}
const styles = StyleSheet.create({
container: {
},
})
和StackNavigator.js
import * as React from 'react';
import { createStackNavigator} from '@react-navigation/stack';
import { NavigationContainer } from '@react-navigation/native';
import LogIn from './src/components/LogIn.js'
import SignUp from './src/components/SignUp.js'
import Dashboard from './src/components/Dashboard.js'
const Stack = createStackNavigator();
function Mystack() {
return(
<Stack.Navigator initialRouteName = "LogIn"
screenOptions = {{
headerTitleAlign: 'center',
HeaderStyle: {
backgroundColor: "#FFF700",
},
headerTintColor: '#FFF',
headerTitleStyle: {
fontWeight: 'bold',
},
}}>
<Stack.Screen name = "LogIn"
component = {LogIn}
options = {{
title: 'LogIn',
headerShown: false
}}/>
<Stack.Screen name = "SignUp"
component = {SignUp}
options = {{
title: 'SignUp',
headerShown: false
}}/>
<Stack.Screen name = "Dashboard"
component = {Dashboard}
options = {{
title: 'Dashboard'
}
}/>
</Stack.Navigator>
)
}
export default Mystack;
2条答案
按热度按时间ezykj2lf1#
我不知道这是正确的解决方案或没有,但重新启动包(地铁服务器)为我工作。
odopli942#
这通常发生在metro不同步的时候,我经常注意到每当我切换分支时都会发生这种情况,并且它们在
package.json
内部有不同的依赖项/版本。通常对我来说有效的是执行以下步骤之一:
1.终止metro会话并再次运行
yarn start
,有时yarn start --reset-cache
会有帮助。1.运行
yarn
或npm i
来安装和更新依赖项,然后通过运行yarn start
再次启动metro。1.如果你在android上,有时模拟器或设备与metro之间的连接中断,所以运行
adb reverse tcp:8081 tcp:8081
并在metro的终端内按R将重新启动并运行应用程序,而不会出现错误。