说明:我登录并导航到Home,我发现它调用了两个屏幕componentDidMount和componentWillMount,即Home和Error-Management。我是不是做错了什么,我想这是一个错误,因为标签。但无法解决。请帮我解决这个问题。
从'React'导入React,{Component};从“react-navigation”导入createStackNavigator,createDrawerNavigator,createMaterialTopTabNavigator};从“react-navigation"导入{DrawerActions};从'react-native'导入View.Text.StyleSheet.Platform.TouchableOpacity.Image.StatusBar};
import Login from '../Login';
import Home from '../Profile';
import ErrorManagement from '../screen/error-management/ErrorManagement'
import DrawerScreen from '../DrawerScreen';
const Tabs = createMaterialTopTabNavigator({
Home: Home,
'Error Management':ErrorManagement
},{
tabBarOptions: {
scrollEnabled: true,
lazyLoad: true,
activeTintColor: '#000',
inactiveTintColor: 'gray',
style: {
backgroundColor: '#fff',
},
tabStyle: {
width: 210
},
indicatorStyle: {
backgroundColor: '#000',
},
}
});
const DrawerNavigator = createDrawerNavigator({
Home:{
screen: Tabs
}
},{
initialRouteName: 'Home',
contentComponent: DrawerScreen,
drawerWidth: 300
});
const MenuImage = ({navigation}) => {
if(!navigation.state.isDrawerOpen){
return <Image source={require('../images/menu-button.png')}/>
}else{
return <Image source={require('../images/left-arrow.png')}/>
}
}
const Routes = createStackNavigator ({
Login : {
screen : Login,
navigationOptions: ({ navigation }) => ({
header: null
}),
},
Home : {screen : DrawerNavigator,
navigationOptions: ({ navigation }) => ({
title: 'Middle-Office', // Title to appear in status bar
headerLeft:
<TouchableOpacity onPress={() => {navigation.dispatch(DrawerActions.toggleDrawer())} }>
<MenuImage style="styles.bar" navigation={navigation}/>
</TouchableOpacity>,
headerStyle: {
backgroundColor: '#87ceeb',
},
headerTintColor: '#fff',
headerTitleStyle: {
fontWeight: 'bold',
},
}),
},
},
{
initialRouteName: 'Login'
}
);
export default Routes;
但是您可以使用
https://reactnavigation.org/docs/en/with-navigation-focus.html
但它仍然可以一次挂载您的所有屏幕。
我在以下链接上创建了一个HOC:
https://snack.expo.io/hkjvzm5-m
您可以看到它使用
但是您可以了解如何只需花很少的精力就可以完成它,以适合您的用例。
问题内容: 我用于在屏幕之间导航。我在第二个活动中调用两个API的in 函数。第一次加载时,加载成功。然后,我按返回按钮返回到第一个活动。然后,如果我再次进行第二次活动,则不会调用API,并且会出现渲染错误。我无法为此找到任何解决方案。任何建议,将不胜感激。 问题答案: 如果有人在2019年到这里来,请尝试以下操作: 将组件添加到渲染中: 现在,每次页面聚焦时都会触发onDidFocus事件,尽管
我遵循Android安装React导航的所有说明。 首先,“npm安装--Save React-Navigation”,“npm安装--Save React-Native-Gesture-Handler”。“react-native link react-native-gesture-handler”,最后,更新了我的 这是我得到的错误: 错误所在:在创建目录'd:\react Native pr
应用程序要求如下所示: 1) 拥有一个带有简单用户名和密码的登录表单 2)一旦用户提交了登录表单,用户应该导航到主组件 问题: 在发送正确的用户名和密码后,服务器会进行身份验证并发送正确的令牌,但现在我设法在URL中显示正确的路由,但组件没有加载, 这是我的档案 登录信息 行动 index.js store.js 依赖列表 有人能帮我解释一下为什么这条路线不行吗,
在我的反应原生应用程序中,我有一个切换导航器来在认证堆栈和应用堆栈之间导航: 它可以工作,但是当我从AuthStack转到AppStack时,它会闪烁,屏幕会向上移动。我如何防止这种行为增加平稳过渡。
我创建了3个组件。1)登录屏幕2)VenueList屏幕3)菜单屏幕我已经创建了另一个组件,称为授权加载这个组件将用户从登录屏幕导航到VenueList屏幕。AuthLoding是连接登录前和登录后组件的桥接组件。 登录屏幕上有一个按钮,点击它将触发登录ction.js用户被导航到网络浏览器,在那里他输入电子邮件/密码。收到访问令牌后,用户必须导航到VenueList屏幕,但切换导航器不工作。我该
问题内容: 如何从一个活动屏幕导航到另一个活动屏幕?在第一个屏幕中,我有一个按钮,如果我单击该按钮,则必须移至另一个“活动”屏幕。 问题答案:
我需要一些关于react原生应用程序的社区建议。我是一个全新的人,不理解其中的一些基本区别。 关于反应本地文档创建StackNavigator的示例建议如下:从“反应导航堆栈”导入{createStackNav导航仪}; 我发现很多人使用下面的样式导入{堆栈导航器,Tab导航器}从“反应导航”; 为什么人们使用以上两种不同的风格?哪一个更合适,为什么? react-navigation-stack
问题内容: 我正在使用Bootstrap v3。 我已经设置了导航栏类,因此当我将屏幕移动大小时,导航会折叠,并且会出现类似网格的小切换按钮-因此,它可以按预期工作。 我想要的是将其作为所有屏幕尺寸的默认操作。也就是说,即使在台式机上,我也希望折叠导航并使切换按钮可见。 我已经通过CSS进行了查看,并且提供了很多功能,尽管我不知道要更改哪些部分。 我尝试注释掉较大的媒体查询,尽管其中有很多,而且似