Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.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
Javascript 反应本机选项卡导航显示问题_Javascript_Reactjs_React Native_React Navigation_Expo - Fatal编程技术网

Javascript 反应本机选项卡导航显示问题

Javascript 反应本机选项卡导航显示问题,javascript,reactjs,react-native,react-navigation,expo,Javascript,Reactjs,React Native,React Navigation,Expo,我遇到React Native/React Navigation的显示问题,其中导航到选项卡导航器中的其他选项卡会导致在选项卡打开时触发错误的反弹动画。此问题仅在登录后发生,并且在发生一次或两次后不会再次发生 以下是本期8秒的视频剪辑: 到目前为止,我所尝试的: componentDidMount()中的InteractionManager.runAfterInteractions可防止在导航动画期间获取数据 在TabNavigator内打开和关闭lazyLoad 在导航到其他选项卡之前,强

我遇到React Native/React Navigation的显示问题,其中导航到选项卡导航器中的其他选项卡会导致在选项卡打开时触发错误的反弹动画。此问题仅在登录后发生,并且在发生一次或两次后不会再次发生

以下是本期8秒的视频剪辑:

到目前为止,我所尝试的:

  • componentDidMount()中的InteractionManager.runAfterInteractions可防止在导航动画期间获取数据

  • 在TabNavigator内打开和关闭lazyLoad

  • 在导航到其他选项卡之前,强制使用此.forceUpdate()重新加载mapview

不幸的是,所有这些都不起作用,我也不确定问题从何而来

我正在运行的:

  • “反应导航”:“^1.5.11”
  • “世博会”:“^26.0.0”
React导航设置的相关代码段(该剪辑显示从userInfo>map>yourEvents进行导航:

导出默认类App扩展React.Component{
render(){
常量堆栈={
第一视图:{
屏幕:选项卡导航器(
{
地图:{
屏幕:HomeMapScreen,
transitionConfig:()=>fromLeft(),
导航选项:({navigation})=>({
标题:空
})
},
您的活动:{
屏幕:YourEvents屏幕,
transitionConfig:()=>fromLeft(),
导航选项:({navigation})=>({
标题:空
})
},
...
},
{
导航选项:{
animationEnabled:“错误”
},
tabbar位置:“底部”,
animationEnabled:错误,
swipeabled:false,
选项卡选项:{
showIcon:“true”,//显示iOS和Android的图标
风格:{
背景颜色:“04151F”
},
showLabel:false,
activeTintColor:#59C9A5“,
不活动IntColor:#F7FFF7“,
标签样式:{
字体大小:10
},
iconSize:Platform.OS==“ios”?30:24
}
}
)
},
...
用户信息:{
屏幕:UserInfo,
transitionConfig:()=>fromLeft(),
导航选项:{
抽屉标签:
}
},
...
};
常数抽屉={
...
主页:{
姓名:“家”,
屏幕:StackNavigator(堆栈{
initialRouteName:“第一视图”,
transitionConfig:()=>fromLeft(),
headerMode:“无”,
付款人:()=>{
返回;
}
})
},
第二视图堆栈:{
名称:“SecondViewStack”,
屏幕:StackNavigator(堆栈{
initialRouteName:“第二视图”,
transitionConfig:()=>fromLeft(),
图标:()=>{
返回;
}
})
}
};
const RootNavigator=StackNavigator(
{
出票人:{
姓名:“出票人”,
屏幕:抽屉式显示器(抽屉式{
抽屉背景颜色:“D8DDEF”,
transitionConfig:()=>fromLeft(),
contentComponent:DrawerContent,
内容选项:{
背景颜色:“黑色”,
弹性:1
},
})
},
堆栈
},
{
headerMode:“无”
}
);
返回(
);
}

}
我只能想象,当此选项卡发生更改时,您正在某处使用LayoutImation。遇到此类问题时,一个很好的策略是删除代码,直到问题得到解决,然后逐段添加回代码。

当我通过更新他使用
react navigation
onDidFocus
onWillBlur
功能(来自
NavigationEvents
)进行说明


一旦我停止更新并删除了我的
showMap
参数,反弹效果就消失了。

谢谢你的评论!唯一的问题是,我不会在我的应用程序中的任何地方使用LayoutImation,除非它是默认启用的,并且必须显式关闭。但我肯定会尝试查看与动画相关的内容gs那么您正在使用的库可能正在不知不觉中使用LayoutImation!您解决了这个问题吗?