3 回答
TA贡献1797条经验 获得超4个赞
您似乎以错误的顺序使用了反应导航功能。首先,您必须创建堆栈导航器,然后使用它创建应用程序容器:
const Container = createStackNavigator({
Login: { screen: Login },
Signup: { screen: Signup },
Home: { screen: Home },
}, {
initialRouteName: 'Login'
})
const AppRoot = createAppContainer(Container)
TA贡献1848条经验 获得超2个赞
从 'react-navigation-stack' 中删除 import { createStackNavigator } 并从 'react-navigation' 中使用 import { createAppContainer,createStackNavigator };
TA贡献1853条经验 获得超6个赞
应用程序.js
import React, { Component } from 'react'
import { Text, View } from 'react-native'
import { createAppContainer, createStackNavigator } from 'react-navigation';
import Login from './screens/Login'
import Signup from './screens/Signup'
import Home from './screens/home'
export default class App extends Component {
render() {
return (
<AppRoot />
)
}
}
let RootStack = createStackNavigator({
Login: Login,
Signup: Signup,
Home: Home,
})
const AppRoot = createAppContainer(RootStack)
现在导航道具出现在您所有的屏幕登录、注册、主页上。例如,从登录导航到主页
登录.js
import React, { Component } from 'react'
import { Text, View, TouchableOpacity } from 'react-native'
export default class Login extends Component {
render() {
return (
<TouchableOpacity onPress={()=>this.props.navigation.navigate('Home')}>
<Text> Home </Text>
</TouchableOpacity>
)
}
}
希望这可以帮助。如果您有任何进一步的疑问,请告诉我。
添加回答
举报