Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 如何在不破坏屏幕状态的情况下保持安装屏幕,并在屏幕之间来回导航&;在导航5中第四个?_React Native_React Navigation V5 - Fatal编程技术网

React native 如何在不破坏屏幕状态的情况下保持安装屏幕,并在屏幕之间来回导航&;在导航5中第四个?

React native 如何在不破坏屏幕状态的情况下保持安装屏幕,并在屏幕之间来回导航&;在导航5中第四个?,react-native,react-navigation-v5,React Native,React Navigation V5,我的react原生应用程序中有一个视频通话屏幕。我想让用户从视频通话屏幕返回应用程序,并在通话过程中继续使用应用程序,但当我尝试返回堆栈导航器中的屏幕时,视频通话屏幕被卸载并失去状态,尽管通话仍在后台运行。我想在不破坏屏幕状态的情况下,保持挂起视频通话屏幕并在应用程序之间导航。在我的情况下,莫代尔并不可取。因为使用react navigation 5,所以不能同时使用switch navigator。提前感谢。我并没有为我的案例安装屏幕,但我使用了另一种需要使用Redux的方法,首先当你打开应用

我的react原生应用程序中有一个视频通话屏幕。我想让用户从视频通话屏幕返回应用程序,并在通话过程中继续使用应用程序,但当我尝试返回堆栈导航器中的屏幕时,视频通话屏幕被卸载并失去状态,尽管通话仍在后台运行。我想在不破坏屏幕状态的情况下,保持挂起视频通话屏幕并在应用程序之间导航。在我的情况下,莫代尔并不可取。因为使用react navigation 5,所以不能同时使用switch navigator。提前感谢。

我并没有为我的案例安装屏幕,但我使用了另一种需要使用Redux的方法,首先当你打开应用程序时,会调用index.js,然后调用app.js,但虽然我们无法在app.js中使用Redux,但下一个我们主要调用的是导航组件,因此,如果使用导航v5或任何导航组件,则可以传递视频通话组件,并使用redux传递布尔值,以显示或隐藏该视频通话,以及将数据传递给通话,例如使用react navigation v5:

 <NavigationContainer>
    {reduxStateShowCall?<VideoCallComponent data={dataStoredInRedux}/>} 
 <Stack.Navigator>
      <Stack.Screen name="HomeScreen" component={Home}/>
      <Stack.Screen name="OtherScreen" component={OtherScreen}/>
  </Stack.Navigator>
 </NavigationContainer>

{reduxStateShowCall?}
因此,当您将值true传递给reduxStateShowCall时,VideoCallComponent将呈现在堆栈导航器中安装的所有屏幕之上,并且在呈现调用组件时,您可以在导航容器内的屏幕之间导航,当您将值false传递给reduxStateShowCall时,它将不会呈现