【发布时间】:2021-03-25 16:17:28
【问题描述】:
在堆栈导航时,mode="card" 或 mode="modal" 都不起作用。 在 OnePlus 5T 和 Android Studio(Google Pixel) 中测试
在 Android 和 IOS 上,默认 Stack Navigator 模式是“卡片”,但在测试时,会发生简单的导航转换。即使在指定了 mode="card" 或 mode="modal" 之后,在导航时仍然不会显示过渡效果。
import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import { Text, Button } from 'react-native';
const First=({navigation})=>{
return (
<>
<Text>First Page</Text>
<Button title="Second Page" onPress={()=>navigation.navigate("Second")}/>
</>);
}
const Second=()=>{
return (
<Text>Second Page</Text>);
}
const Stack=createStackNavigator();
const StackNavigate=()=>{
return (
<Stack.Navigator mode='modal'>
<Stack.Screen name="First" component={First}/>
<Stack.Screen name="Second" component={Second}/>
</Stack.Navigator>)
}
export default function App() {
return (
<NavigationContainer >
<StackNavigate/>
</NavigationContainer>
);
}
【问题讨论】:
-
如果你使用
mode='modal'并且想要改变过渡,你必须设置headerMode='flaot' or 'screen'。还要检查这个:reactnavigation.org/docs/stack-navigator/#mode
标签: javascript react-native expo react-native-navigation react-navigation-stack