- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们在我们的 React Native 应用程序中遇到了一个非常奇怪的 react 导航场景,它只在 Android 上观察到(在模拟器和物理设备上 AND 用于调试构建和发布构建),但它在 iOS 上运行良好。
我们有一个现有的 native 应用程序,并决定在 React Native 中实现一些新屏幕作为实验,看看它是否对我们的开发生命周期有益。
Our native app has a sidebar menu, and we added a new menu item, that when selected, takes the user into the React Native portion.他们当然可以随时返回,然后返回到 React Native 部分。
我们已经确定它与 react-navigation 库有关,但我们不知道我们做错了什么。
应用首次加载时,用户可以选择新的菜单项,React Native 应用加载正常,显示其初始路由页面,StackNavigator 工作正常。
如果用户返回 native 部分(通过后退键,或从侧边栏菜单中选择不同的选项),然后选择返回到 React Native 部分,则 StackNavigator 部分不会显示。 渲染 StackNavigator 之外的其他 React 组件。我们知道它挂载了包含的组件,因为其中一些组件正在调用 API,我们看到这些端点正在被查询。它只是不呈现。
在模拟器中重新加载将再次正确呈现应用程序,直到我们导航出 React Native 然后返回。
奇怪的是:如果我们打开远程 JS 调试,它突然一切正常。
谁能发现我们在使用 StackNavigator 的过程中可能遗漏了什么,这导致它无法正确呈现?再一次:当 JS 调试器打开时它工作正常,让我们认为它不是一个逻辑项,但也许是一个时序条件,或者一些微妙的配置?或者我们应该放弃 react-navigation 并转到不同的导航库?
我们的 package.json 是:
{
"dependencies": {
"react": "16.0.0",
"react-native": "0.50.4",
"react-navigation": "1.5.2"
}
}
我们的 React Native 入口页面(index.js)是:
import * as React from 'react';
import { AppRegistry, Text, View } from 'react-native';
import { StackNavigator } from 'react-navigation';
import TestPage from './TestPage';
AppRegistry.registerComponent('MyApp', () => MyApp);
class MyApp extends React.Component {
public render() {
return (
<View style={{flex:1}}>
<Text>'This text always shows up fine on Android, even on reentry to React application'</Text>
<AccountNavigator />
</View>
);
}
}
const AccountNavigator = StackNavigator(
{
FirstPage: {
screen: TestPage,
navigationOptions: ({ navigation }) => ({
title: 'Test View'
})
},
{
initialRouteName: 'FirstPage'
}
);
简单的测试页面(TestPage.js)就是:
import * as React from 'react';
import { Text, View } from 'react-native';
export default class TestPage extends React.Component {
render() {
return (
<View style={{flex:1, alignItems: 'center', justifyContent: 'center'}}>
<Text>'If you can read this, then the app is on first load. But return to the native portion and then try to come back to React Native and you will not see me.'</Text>
</View>
);
}
}
最佳答案
原来是布局设置问题。在我们的 native 代码中,在我们的 React Activity 布局 XML 中,我们有:
<com.facebook.react.ReactRootView
android:id="@+id/ReactRootView
android:layout_width="match_parent"
android:layout_height="wrap_content" />
问题出在高度的“wrap_content”中,导致它将 StackNavigator()
渲染为 1 像素高。不知道为什么它总是只在重新进入时发生而不是第一次发生,也不知道为什么 JS 调试器会导致问题消失。
将 layout_height 更改为“match_parent”完全解决了这个问题。
关于android - React Native StackNavigator 在重新进入时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49273944/
我在我的项目中使用 react 导航。我想在抽屉导航中使用堆栈导航。我想在堆栈导航屏幕中使用 this.navigation.toggleDrawer(),但不将其附加到堆栈导航屏幕中。 // dra
我是 React Native 和 React-Navigator 的新手,想实现这个设置: 我已经有 SignUpScreen,来自 SignUpScreen01 - SignUpScreen05,
我试图让一个屏幕在常规 StackNavigation 对象中充当模态。意思是,我希望所有屏幕都充当卡片(从侧面渲染),但一个屏幕充当模态(从底部渲染),但它不起作用,所有屏幕都从侧面渲染。 代码:
我想做一个简单的任务:成功登录后将用户重定向到他的主页。我使用react-navigation的StackNavigator来达到这个目的: // App.js class App extends C
在我的 React Native 应用程序中,我使用 React Navigation 库来实现导航。我在 StackNavigator 上构建了整个应用程序。现在我遇到了一个我不知道如何解决的问题。
编辑:我了解我的问题和解决方案,所以我改写我的问题,然后给出答案。 一个普通的 StackNavigator 和带有导航的屏幕看起来像这样: class ExampleScreen extends R
我目前在我的 React native 应用程序中使用 StackNavigator。 我有两个屏幕,它们都将导航到同一屏幕 LoginScreen。但是,根据我来自哪个屏幕,我想转到不同的屏幕。 例
如何在 StackNavigator 中更改动画的方向? 当前行为 当用户转到另一个屏幕时,屏幕从 飞出从下到上 . 预期行为 当用户转到另一个屏幕时,屏幕从 飞出从右到左 . (比如 Faceboo
我有用户列表,每个用户在列表中都有其显示图像。 我正在尝试的是,每当用户按下显示图像时,都会通过 stackNavigation 重定向到他/她的个人资料。 自定义TabView: const
我已经开始学习 react 原生,很棒的东西。我已经能够使用 StackNavigator 在屏幕之间导航。 在一个屏幕上,我显示一个由静态 json 文件填充的列表。单击一行后,应该会弹出下一个屏幕
我正在使用react-native,当我尝试使用StackNavigator导航到另一个页面时,上一个页面正在后台运行 这是 App.js import Login from './app/compo
这是我的App.js import React, {Component} from 'react'; import { createAppContainer } from 'react-navigat
我在使用 React-Native js 框架开发带有导航的应用程序时遇到了问题。我有一个 StackNavigator,它可以在登录页面和主页之间导航。但我不想让用户在按下电话按钮或通过屏幕栏上的按
好的,大家好,我有一个问题,我是 react 原生开发的新手,并且遇到了 StackNavigator 的问题。当我按下用于导航当前屏幕的按钮时,它会出现如下错误: enter image descr
我们在我们的 React Native 应用程序中遇到了一个非常奇怪的 react 导航场景,它只在 Android 上观察到(在模拟器和物理设备上 AND 用于调试构建和发布构建),但它在 iOS
我有一个带有三个选项卡的 TabNavigator。这三个选项卡中的每一个都是 StackNavigators。 如果用户单击同一个选项卡按钮两次,我如何才能将 StackNavigator 导航回来
我正在使用 React Navigation x5,我有 StackNavigator 正在加载一堆屏幕。我想在模糊上卸载一个特定的屏幕组件,以获得与使用 DrawerNavigator 时使用 un
这是包含我的抽屉的组件 export default class StackInView extends React.Component { render() { const Stack
我没有什么问题......我在 TabNavigator 中嵌套了 StackNavigator,例如: 表1 堆栈屏幕 Tab2 Tab3 Tab4 我想在选项卡 View 上保留滑动,但想在打开
我需要为 Navigation 5.0 中的堆栈导航器中的特定屏幕将导航动画更改为 bottom-to-top。 最佳答案 我在 StackOverflow 中寻找答案,但没有找到与单屏相关的解决方案
我是一名优秀的程序员,十分优秀!