ram*_*ong 2 react-native react-navigation
我正在开发一个简单的应用程序,现在添加了抽屉导航,但我遇到了一个奇怪的问题,抽屉在从抽屉内容导航到屏幕后再次打开。
PlayerZone 是一个 BottomTabNavigation,包含个人资料和其他屏幕。我尝试在导航到屏幕之前和之后调度关闭抽屉操作,我也尝试过,requestAnimationFrame但没有任何帮助。
抽屉屏风:
<Animated.View style={[styles.stack, style]}>
<Stack.Navigator
screenOptions={{
header: () => null,
}}>
<Stack.Screen name="PlayerZone" component={PlayerZone} />
</Stack.Navigator>
<GameBottomNavigation />
</Animated.View>
Run Code Online (Sandbox Code Playgroud)
抽屉:
<DrawerItem
label="Profile"
style={styles.item}
labelStyle={styles.itemLabel}
onPress={() => {
props.navigation.navigate('PlayerZone', {
screen: 'Profile',
id: null,
});
}}
/>
<DrawerItem
label="Items"
style={styles.item}
labelStyle={styles.itemLabel}
onPress={() => {
props.navigation.navigate('PlayerZone', {
screen: 'Profile',
id: 'some-id',
});
}}
/>
Run Code Online (Sandbox Code Playgroud)
玩家专区:
<Tab.Navigator
initialRouteName="Profile"
screenOptions={{
header: () => null,
}}>
<Tab.Screen name="Profile" component={Profile} />
{!peeking && <Tab.Screen name="Items" component={Items} />}
</Tab.Navigator>
Run Code Online (Sandbox Code Playgroud)
项目:
import React, {FC} from 'react';
import {BottomTabScreenProps} from '@react-navigation/bottom-tabs';
import Block from '../../components/Block';
import Text from '../../components/Text';
import {PlayerZoneTabParamList} from '.';
type Props = BottomTabScreenProps<PlayerZoneTabParamList, 'Items'>;
const Items: FC<Props> = () => {
return (
<Block middle center>
<Text>Items</Text>
</Block>
);
};
export default Items;
Run Code Online (Sandbox Code Playgroud)
因此,经过一段时间尝试我能想到的一切之后,我找到了解决方案(某种程度上)。在抽屉导航器中,我将 propsuseLegacyImplementation设置为 false,因为我已经配置了 reanimated 2。我删除了这个 props,一切都开始正常工作。
| 归档时间: |
|
| 查看次数: |
1631 次 |
| 最近记录: |