我有问题。当我打开键盘(通过点击TextInput
)时,会出现故障(请参阅GIF)。
[目前,我在stack navigator
内使用了tab navigator
(仅使用stack navigator
我没有任何问题)。
可能是什么问题?我找不到任何解决方案!
导航器:
import HistoryScreen from '../screens/HistoryScreen'
import HomeScreen from '../screens/HomeScreen'
import { createStackNavigator } from 'react-navigation-stack'
import { createBottomTabNavigator } from 'react-navigation-tabs'
import { createAppContainer } from 'react-navigation'
const HomeNavigator = createStackNavigator({
Home: HomeScreen
})
const HistoryNavigator = createStackNavigator({
History: HistoryScreen
})
const TabNavigator = createBottomTabNavigator({
Home: HomeNavigator,
History: HistoryNavigator
})
export default createAppContainer(TabNavigator)
package.json:
"dependencies": {
"@react-native-community/masked-view": "0.1.5",
"@react-navigation/native": "^5.0.9",
"expo": "~36.0.0",
"lodash": "^4.17.15",
"react": "~16.9.0",
"react-dom": "~16.9.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-36.0.0.tar.gz",
"react-native-appearance": "~0.3.1",
"react-native-gesture-handler": "~1.5.0",
"react-native-paper": "^3.6.0",
"react-native-reanimated": "~1.4.0",
"react-native-safe-area-context": "0.6.0",
"react-native-screens": "2.0.0-alpha.12",
"react-native-status-bar-height": "^2.4.0",
"react-native-web": "~0.11.7",
"react-navigation": "^4.2.2",
"react-navigation-drawer": "^2.4.2",
"react-navigation-header-buttons": "^3.0.5",
"react-navigation-material-bottom-tabs": "^2.2.2",
"react-navigation-stack": "^2.2.3",
"react-navigation-tabs": "^2.8.2",
"react-redux": "^7.2.0",
"redux": "^4.0.5",
"redux-thunk": "^2.3.0"
}
最后,我的解决方案是将参数keyboardHidesTabBar: false
添加到tab navigator
配置中。尽管我不完全理解其背后的动机,但这可以解决我的问题。
tabBarOptions: {
keyboardHidesTabBar: false
}
我认为您使用的是自定义标题,如果是这样,请使用React Navigation的标题https://reactnavigation.org/docs/headers/