React native 嵌套导航器中的React视图对点击/触摸不响应
我正在开发一个Expo-managed React本机应用程序,并在堆栈导航器中嵌套了一个底部选项卡导航器。我正在使用React导航。选项卡导航器本身有一个嵌套的堆栈导航器。结构如下:React native 嵌套导航器中的React视图对点击/触摸不响应,react-native,expo,react-navigation,react-navigation-v5,React Native,Expo,React Navigation,React Navigation V5,我正在开发一个Expo-managed React本机应用程序,并在堆栈导航器中嵌套了一个底部选项卡导航器。我正在使用React导航。选项卡导航器本身有一个嵌套的堆栈导航器。结构如下: - Stack navigator in App.js - Stack navigator - Bottom Tab navigator with 3 tabs - Tab 1: Basic view component - Tab 2: Stack navigator
- Stack navigator in App.js
- Stack navigator
- Bottom Tab navigator with 3 tabs
- Tab 1: Basic view component
- Tab 2: Stack navigator
- Tab 3: Stack navigator
我遇到的问题是,底部选项卡导航器视图对点击TouchableOpacity元素没有响应。滚动视图仍然有效,但没有其他功能(例如,我无法离开页面、打开模式等)
奇怪的是,这个问题会持续一段时间,然后消失。如果我在无响应屏幕上等待,它最终会触发它最初没有响应的点击
过去这里有人遇到过类似的问题吗?我已经创建了一个你想要的东西的复制品 请参阅本手册中的工作示例 根据我的
AppNavigator.js
看起来像这样-
import React from 'react';
import { View } from 'react-native';
import { createStackNavigator } from '@react-navigation/stack';
import { useTheme } from '@react-navigation/native';
import { createMaterialBottomTabNavigator } from '@react-navigation/material-bottom-tabs';
import TabScreenOne from '../screens/TabScreenOne';
import TabScreenTwo from '../screens/TabScreenTwo';
import TabScreenThree from '../screens/TabScreenThree';
import HomeScreen from '../screens/HomeScreen';
import CollectionsScreen from '../screens/CollectionsScreen';
const Tab = createMaterialBottomTabNavigator();
const MainStack = createStackNavigator();
const InnerStack = createStackNavigator();
function InnerStackFNC() {
return (
<InnerStack.Navigator>
<InnerStack.Screen name="HomeScreen" component={HomeScreen} />
<InnerStack.Screen
name="CollectionsScreen"
component={CollectionsScreen}
/>
</InnerStack.Navigator>
);
}
function Tabs() {
return (
<Tab.Navigator>
<Tab.Screen name="TabOne" component={TabScreenOne} />
<Tab.Screen name="TabTwo" component={TabScreenTwo} />
<Tab.Screen name="TabThree" component={TabScreenThree} />
</Tab.Navigator>
);
}
function AppNavigator() {
return (
<MainStack.Navigator>
<MainStack.Screen
name="InnerStack"
component={InnerStackFNC}
options={{ headerShown: false }}
/>
<MainStack.Screen name="Tabs" component={Tabs} />
</MainStack.Navigator>
);
}
export default AppNavigator;
展示你的结构你到现在为止都做了些什么。我已经安排好了。问题是子视图停止响应触摸手势。您能告诉
子视图
哪个屏幕
停止响应吗??
import * as React from 'react';
import { Text, View, StyleSheet } from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
import Constants from 'expo-constants';
import AppMavigator from './navigation/AppNavigator';
export default function App() {
return (
<NavigationContainer>
<AppMavigator />
</NavigationContainer>
);
}