#react-native #react-native-navigation #react-navigation-v5
#react-native #react-native-navigation #react-navigation-v5
Вопрос:
В настоящее время я борюсь с динамическим обновлением реквизита с возможностью прокрутки в @react-navigation/material-top-tabs
версии 5. То, что я пробовал, — это глобальное состояние, которое определяет, должны ли вкладки быть доступны для прокрутки или нет. isSwipeable
Значение обновляется изнутри экрана в TabNavigator. В этом случае при нажатии на линейную диаграмму. Мой код:
const { isSwipeable } = useContext(GlobalContext)
return (
<TopTab.Navigator swipeEnabled={isSwipeable} tabBar={(props) => <TabBar {...props} />}>
<TopTab.Screen
name="Screen1"
component={Screen1Component}
options={{
tabBarLabel: 'Screen1',
tabBarIcon: () => null
}}
/>
<TopTab.Screen
name="Screen2"
component={Screen2Component}
options={{
tabBarLabel: 'Screen2',
tabBarIcon: () => null
}}
/>
</TopTab.Navigator>
)
Но это не приводит к динамическому обновлению swipeEnabled
реквизита для навигатора вкладок.
Я также пытался использовать что-то вроде на экране вкладок:
React.useLayoutEffect(() => {
navigation.setOptions({})
}, [navigation])
Но здесь setOptions
я могу изменить только табличную табличку, табикон и т. Д. что мне не очень помогает.
Комментарии:
1. Вы нашли решение этой проблемы? Столкнулся с той же проблемой, собирался попробовать использовать контекст React, но, похоже, у вас не было большого успеха в этом.
2. @Joe Нет, извините. Просто пошел, не проводя пальцем по вкладкам, потому что я не мог в этом разобраться